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)