Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdMerel Pieters Laatst gewijzigd meer dan 5 jaar geleden
1
Software Development fundamentals
Object oriented design
2
inhoudsopgave Huiswerkreview, wat hebben we geleerd?
Oefenen met classes ontwerpen Pong (klassikaal) Arkanoid (in de les) 2D RPG (zelfstandig/huiswerk) Huiswerkopdracht: Auto class
3
Object oriented design
Onderdelen: Class: blauwdruk voor een object, bevat: Property: Eigenschap van een object Method: Actie van een object Met classes kunnen we nadenken over code alsof ons programma bestaat uit objecten Dat is voor ons intuitief, het lijkt op de manier waarop we omgaan met de echte wereld De vraag is: hoe weten we welke classes/objects we moeten maken, en wat erin komt?
4
Object oriented design
Kunnen bepalen welke classes, methods en properties je nodig hebt. Kunnen koppelen van verantwoordelijkheden aan classes We hebben de lifeform opdracht gemaakt, Welke classes, properties en methodes? Wat zijn de verantwoordelijkheden van elke class?
5
Game loop Veel games volgen onderstaande structuur: De game loop wordt zo vaak en zo snel mogelijk herhaald. Hoe sneller de herhaling van de gameloop, hoe hoger het aantal frames per second (fps) en hoe soepeler de gameplay. Games zijn ideaal om OOP te oefenen. Onze lifeform applicatie volgt dezelfde structuur als hierboven., maar dan met een vast aantal herhalingen per seconde.
6
Object oriented design
Hoe ontwerp je een applicatie met meerdere classes? Je kunt vaak kijken naar het probleem als een verzameling van objecten, en dan bepalen hoe je deze objecten kunt generaliseren naar classes Belangrijke vragen tijdens het ontwerpproces Welke gegevens heb ik nodig (properties/variabelen) Hoe kan ik deze gegevens logisch groeperen (classes) Welke acties/gedrag heb ik nodig (methods) Hoe verdeel ik deze over logische verantwoordelijkheden per class Door de lifeform opdracht weet je ongeveer hoe een simpele 2D game er in code uitziet… 1 oefening klassikaal, daarna 1 per groep, en 1 als huiswerk.
8
Classes (voorbeeld) Game/Form Paddle Ball Wat zijn de voordelen van aparte classes voor paddle en ball? Game Score1 Score2 Paddle1 Paddle2 Ball Update() < deze bevat de logica Paddle Position Velocity/Direction
10
Classes Game Paddle Ball Brick Game Brick Score Paddle Lives Ball
Update() Position Velocity Brick
11
Huiswerk/opdrachten Maak eerst de opdracht ‘Auto class’ om nog een keer te oefenen met het maken van classes en objecten. Stel dat je een 2D RPG wilt ontwikkelen Welke classes, properties en methods heb je nodig? Werk dit uit, en lever de uitwerking aan het begin van de volgende les in. Bestudeer ook pagina 33 t/m 39 van lesson 2 (PDF) En stel vragen als je hier iets niet van begrijpt!
12
Vragen Zijn er vragen?
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.