Objectgeoriënteerd Ontwerp

Slides:



Advertisements
Verwante presentaties
Informatieanalyse klassediagram I.
Advertisements

KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
OOS Object geOrienteerd Software-ontwerp
Objecten en Volgordediagrammen
Gegevensstructuren: list boxen en lijsten
Van domeinklasse tot implementatie
Het ontwerpen van een klasse
Objecten Hoofdstuk 6 Hoofdstuk 6 Hoofdstuk 6 1.
Hoofdstuk 2 Hallo, C# !.
In punt P werken drie krachten: Fspan in de richting van het touw Fveer 15 N schuin links omhoog Gewicht recht naar beneden Hoofdstuk 3 som 20.
Interaction diagrams: Sequence Diagram
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Frank Stalpers en Ad Baars
Exceptions Hoofdstuk 17 Hoofdstuk 17.
Klassen schrijven Hoofdstuk 10. Visual Basic.NET voor studenten2 In dit hoofdstuk … Hoe schrijf je een klasse Constructormethodes Public methoden Variabelen.
Herhaling: For, While en Do
Overerving Hoofdstuk 11 Hoofdstuk 11.
Methoden en argumenten
Visual Basic .NET voor studenten
Consoleprogramma’s Hoofdstuk 19. Visual Basic.NET voor studenten2 In dit hoofdstuk … Hoe consoletoepassingen maken In- en uitvoer bij consoleprogramma’s.
Bestanden Hoofdstuk 18 Hoofdstuk 18.
AARDRIJKSKUNDE.
Visual Basic.
Consoletoepassing Variabelen Klassen
Module 7 – Hoofdstuk 3 Unified Modeling Language.
Object georiënteerd programmeren in Alice
Visual Basic 2005/2008 OOP in praktijk André Obelink - MCSD, MVP Web: Web: -
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
Testen Hoofdstuk 22. Visual Basic.NET voor studenten2 Inleiding Testen hebben als doel het ontdekken van bugs Het is echter onmogelijk om met testen te.
Visual Basic.NET voor studenten De VB- ontwikkelomgeving Hoofdstuk 2.
Programmeerstijl Hoofdstuk 21. Visual Basic.NET voor studenten2 Inleiding Belang van een goede programmeerstijl:  Programma’s worden door meerdere mensen.
Debuggen Hoofdstuk 9 Hoofdstuk 9.
Les 7 Multiple Document Interface Programmeren met Visual Basic Karl Moens.
Arrays Hoofdstuk 14 Hoofdstuk 14.
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
Interfaces Hoofdstuk 23 Hoofdstuk 23.
Les 4 De Muis (deel 1) Programmeren met Visual Basic Karl Moens.
Variabelen en berekeningen
Les 3 Basisbouwstenen (deel 2) Programmeren met Visual Basic Karl Moens.
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Tweedimensionale arrays
Encapsulatie: Every man is an island upon himself.
Polymorfie Hoofdstuk 24. Visual Basic.NET voor studenten2 Inleiding Polymorfie zorgt ervoor dat een gegeven object verschillende “vormen” kan aannemen.
Polymorphisme en Interfaces: inleiding
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
Eigen klassen maken A new way of thinking.. Wat? Zie voorbeeld. Zie voorbeeld.
UML De Basics en de Use-case Diagrammen. UML Introductie Unified Modeling Language Grafische modelleertaal Waarom UML? - UML wordt gebruikt om de werking.
OOP en.NET. Objecten Is geen ‘nieuw’ mysterieus woord Overal om ons heen zien we objecten: – TV – Computer – Auto – Wasmachine – ….
Trimester 2. Hfdst 1: e-Presentatie, master! e-Presentatie Met de hulp van Powerpoint gaan we leren hoe we een elektronische presentatie kan maken.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Bespreking testpracticum.  Javaconventies! ◦ KlasseNamen beginnen met Hoofdletter ◦ objectNamen/methodeNamen met kleine letter  Aanspreken GUI ◦ Zie.
Objectgeoriënteerd Programmeren (2)
Objectgeoriënteerd Programmeren
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Overerving
Object georiënteerd programmeren
Gameprogrammeren: Methoden
Gameprogrammeren: Overerving in Painter
Gameprogrammeren: Properties
Gameprogrammeren: Abstracte klassen
Unified Modeling Language
‘Inleiding objectgeoriënteerd programmeren met PHP’ ‘Inleiding’
GAME MAKER ONLINE Les 6 / Super Mario Michel Fiege.
Kan je zelf een geschikte schaalverdeling maken
Arjan Egges & Paul Bergervoet
Software Development fundamentals
Leren programmeren met Scratch
Software Development fundamentals
Transcript van de presentatie:

Objectgeoriënteerd Ontwerp Hoofdstuk 20 Hoofdstuk 20

Visual Basic .NET voor studenten Inleiding De oefeningen tot hiertoe: “trial and error” programmeren Onmiddellijk programmeren Geen overzicht over het geheel Werkt voor kleine programma’s Moeilijk opsplitsbaar over verschillende programmmeurs Visual Basic .NET voor studenten Hoofdstuk 20

Visual Basic .NET voor studenten Ontwikkelmethodes Beschrijven een proces voor het ontwerpen en schrijven van programma’s UML is geen proces, enkel een hulpmiddel (tekeningen) Voorbeelden: Watervalmodel, spiraalmodel Rational Unified Process (RUP) eXtreme Programming (XP) Agile programming Visual Basic .NET voor studenten

Visual Basic .NET voor studenten Het ontwerpprobleem Welke klassen hebben we nodig in ons programma? Hoe stellen we die vast? Zoveel mogelijk de objecten “uit de realiteit” beschouwen Abstractie: irrelevante details weglaten Merk op: dit is meestal een eerste aanzet, extra (hulp)klassen zullen eveneens nodig zijn. Visual Basic .NET voor studenten

Het vaststellen van objecten, methoden en properties Schrijf een programma dat een ballon representeert en zorg ervoor dat de ballon via een GUI te bewerken is. De ballon wordt getoond als een cirkel in een picture box. Met behulp van knoppen kan de plaats van de ballon worden veranderd door deze een vaste afstand naar boven of naar beneden te laten bewegen. Met behulp van een schuifregelaar kan de straal van de ballon worden veranderd. De straal wordt getoond op een label. Deze specificatie is reeds zeer specifiek, met een gedetailleerde GUI beschrijving. In de praktijk ontbreekt dit vaak. Niet elk zelfstandig naamwoord is een klasse. Vaak komen ook klassen voor die niet in de spec staan. Veel oefenen en samenwerken met ervaren ontwerpers GUI uses Balloon Visual Basic .NET voor studenten

Het vaststellen van objecten, methoden en properties Schrijf een programma dat een ballon representeert en zorg ervoor dat de ballon via een GUI te bewerken is. De ballon wordt getoond als een cirkel in een picture box. Met behulp van knoppen kan de plaats van de ballon worden veranderd door deze een vaste afstand naar boven of naar beneden te laten bewegen. Met behulp van een schuifregelaar kan de straal van de ballon worden veranderd. De straal wordt getoond op een label. Werkwoorden, acties, … bepalen de methodes Eigenschappen, toestanden, … bepalen properties Soms is er keuze tussen een property en een methode Visual Basic .NET voor studenten

Visual Basic .NET voor studenten UML diagram Visual Basic .NET voor studenten

Case study: Cyberspace Invader De picture box toont een verdediger en een alien. De alien beweegt zijwaarts. Wanneer de alien een muur raakt, keert deze van richting om. De alien gooit periodiek een bom die verticaal naar beneden beweegt. Gedurende het hele spel is er nooit meer dan één bom tegelijk actief. Als een bom de verdediger raakt, verliest de verdediger. De verdediger beweegt naar links of naar rechts door overeenkomstige muisbewegingen. Bij een muisklik vuurt de verdediger een laserstraal af, die naar boven beweegt. Gedurende het hele spel is er nooit meer dan één laser actief. Wanneer de alien geraakt wordt door een laserstraal wint de verdediger. Visual Basic .NET voor studenten

Visual Basic .NET voor studenten Klassen ontdekken Game Defender Alien Laser Bomb Visual Basic .NET voor studenten

Visual Basic .NET voor studenten De klasse Game Class Game Instance variables aPictureBox1 As PictureBox AnimationTimer As Timer BombTimer As Timer Methods aPictureBox_MouseMove AnimationTimer_Tick BombTimer_Tick aPictureBox.Click Visual Basic .NET voor studenten

Visual Basic .NET voor studenten De klasse Defender Class Defender Instance variables xCoordinate As Integer yCoordinate As Integer height As Integer width As Integer Methods Move Display Properties X As Integer Y As Integer Height As Integer Width As Integer Visual Basic .NET voor studenten

Visual Basic .NET voor studenten De klasse Laser Class Laser Instance variables xCoordinate As Integer yCoordinate As Integer height As Integer width As Integer yStep As Integer Methods New Move Display Fire Properties X As Integer Y As Integer Height As Integer Width As Integer Visual Basic .NET voor studenten

Visual Basic .NET voor studenten De klasse Alien Class Alien Instance variables xCoordinate As Integer yCoordinate As Integer height As Integer width As Integer xStep As Integer Methods New Move Display Properties X As Integer Y As Integer Height As Integer Width As Integer Visual Basic .NET voor studenten

Visual Basic .NET voor studenten Relaties Compositie Heeft-een, Maakt-een, Bestaat-uit Overerving Is-een Alien, Bomb, Defender, Laser erven over van Sprite Visual Basic .NET voor studenten

Visual Basic .NET voor studenten Richtlijnen Houdt gegevens Private Toegang via properties of methodes Initialiseer gegevens In de declaratie of constructor Vermijd grote klassen Kies veelzeggende namen Forceer geen overerving Bij overerving gedeelde items in de superklasse zetten Gebruik refactoring om je ontwerp te verbeteren Visual Basic .NET voor studenten