I de næste opgaver kan du godt oprette projektet (Console, WPF eller Empty Websolution) først og så ”bare” lade klasserne oprette i samme projekt (altså undvære et ClassLibrary projekt til disse)
Hvis du vælger at lave et ClassLibray til klasserne, kan de bruges til flere brugergrænseflader (et at ovenstående 3 – husk så at lave en reference til dit ClassLibrary og Using for at tilgå dem.

Du kan til disse opgave få hjælp af tilsvarende eksempler her:
http://www.youtube.com/playlist?list=PLCD0E0139DB23FC46  (Bemærk at den sidste del af PART1 med afprøvningen ikke kan bruges mere, da object test bench ikke mere findes i visual studio)

Opgave Klods-basis

Lav en Klods-klasse med følgende felter/hukommelse:

·        Længde

·        Bredde

·         Højde

Du kan selv bestemme om det skal være heltal (fx int) eller med decimaler (float)

Lav en constructor så man kan oprette et Klods-objekt og samtidig tildele værdier.
Klassen skal også have Property / metoder så man kan aflæse og ændre de 3 informationer.
Tilføj en ToString metode til klassen, som returnere én tekst med klods-objektes data.

Lav et console-/wpf eller webform, der kan oprette et klods objekt udskrive klodens data med ToString metoden på konsollen eller i en tekstbox.

Opgave Klods-metoder

Klodsklassen skal nu udvides med metoder der kan udregne forskellige informationer på basis af en klods data:

UdregnOverflade: Der udregner overfladen af klodsen og returnere dette.

UdregnRumfang: Der udregner rumfanget at klodsen og returnerer dette.

LængsteSide: Der tester hvad for en side der er den længste og returnere størrelsen/værdien for denne.

MindsteSide: Der tester hvad for en side der er den korteste og returnere størrelsen/værdien for denne.

KanPassere: Der skal have 2 parametre med en hul-længde og en hul-bredde som input. Metoden skal returnere true, hvis klodsen kan komme gennem hullet og false hvis ikke.

For hver af metoderne skal du afprøve om den virker med et console-/wpf eller webform program.
Hvis du bruger wpf eller webform kan du lave hver afprøvning på en knap, hvor du ”bare” oprette en klods med faste data og så viser resultatet i en textbox.
Du kan evt. udvide med at få input til de 3 værdier til klodsens længde, bredde og højde fra 3 textboxe, hvis du bruger wpf eller webform.

 

Opgave Klods-samling
Du han hente inspiration her:
- http://www.youtube.com/watch?v=DsyivjjZuPI&list=PLWg7ytE2Y07KNfVov8EIxISMkOToO0EqL&index=21
- http://www.youtube.com/watch?v=7_NU5lMKZNE&list=PLWg7ytE2Y07KNfVov8EIxISMkOToO0EqL&index=22

Du skal nu lave en KlodsKartotek klasse der kan indeholde en samling klodser og metoder, der kan bruges til løsninger der involvere flere klodser.

Start med at oprette en KlodsKartotek klasse, der indeholder en privat liste af klodser (type List<Klods>), der fra starten oprettes som en tom liste.
Udvide med en metode ”OpretKlods” på KlodsKartotek der kan oprette et klods-objekt og tilføje det til samlingen (parameter for længde, bredde og højde på den klods der skal oprettes)
Udvid med en metode ”OpretTestKoldser”, der med brug af ovenstående opretter nogle klodser i forskellige mål.
Lav et consol, wpf eller webform program, der afprøver om din KlodsKartotek klasse med din OpretTestKlodser virker. Du behøver ikke udskrive, men kan sætte breakpoint i linien der kalder din metode og så følge den og se resultatet i debuggeren.
Udvid med en metode, der udregner overfladen af alle klodser i klods-kartoteket.
Afprøv metoden med et consol, wpf eller webform program, hvor du udskriver overfladen på skærmen (Console eller textbox)
Udvid med en metode, der finder det længste afstand vi kan nå ved at ligge alle klodser ved siden af hinanden (summen af den længste side hver klods)
Afprøv metoden med et consol, wpf eller webform program, hvor du udskriver overfladen på skærmen (Console eller textbox)
Udvid med en metode, der finder det korteste afstand vi kan få presset klodserne sammen på når alle klodser ligger ved siden af hinanden (summen af den korteste side hver klods)
Afprøv metoden med et consol, wpf eller webform program, hvor du udskriver overfladen på skærmen (Console eller textbox)