Van domeinklasse tot implementatie

Slides:



Advertisements
Verwante presentaties

Advertisements

OOS Object geOrienteerd Software-ontwerp - 3
Hoofdstuk 20: GEGEVENSSTRUCTUREN.
Het ontwerpen van een klasse
Het type int Tekenen met Java operatoren
Klassen en objecten.
Greenfoot Workshop Bobby - Snake.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Hoofdstuk 5: Bestanden.
Hoofdstuk 6: Controle structuren
Hoofdstuk 4: Klassen definiëren
Hoofdstuk 2 Hallo, C# !.
Inleidend probleem Data structuur (hiërarchie van classes)
Opg.1a: substring } String substring(int a) { int t; for (t=a; t
Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Oefeningen Hoofdstuk 3.
Algoritmiek Object-georiënteerd Programmeren
Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept L.M. Bosveld-de Smet.
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
6.1 Inleiding HOOFDSTUK 6 METHODEN
JAVA1 H 9. OBJECTGEORIENTEERD PROGRAMMEREN: OVERERVING 1. INLEIDING Wat is overerving (inheritance)? Overerving is een mechanisme waarbij software opnieuw.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Arrays.
OOS Object geOrienteerd Software-ontwerp - 2
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Internetapplicaties - VI Herhaling 1 Internetapplicaties Deel 6: Herhaling.
OO Analyse in de praktijk OO Analyse in de praktijk IV OO basisregels.
Herhaling Java-programmatie en geautomatiseerd testen (vervolg)
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 15: Herhaling Java-programmatie en geautomatiseerd testen.
Constructoren Genesis 1:1 Aarde a1 = new Aarde(“Adam”, “Eva”);
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Datacommunicatie en netwerken
Hoofdstuk 11.3 Algoritmen: Zoeken in een netwerk.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Hoofdstuk 14.1 Algoritmen: Zoeken in een netwerk.
Scope. Scope van variaben/methoden Een variabele is te gebruiken binnen de { en } waarbinnen hij is aangemaakt. Hetzelfde geld voor een methode { int.
Polymorphisme en Interfaces: inleiding
Programma zonder window commandline interface. Commandline programma public static void main (String [ ] params) { System. out. println (“Hoi allemaal!”);
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.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Herhaling: He who does not learn from history, is doomed to repeat it.
Eigen klassen maken A new way of thinking.. Wat? Zie voorbeeld. Zie voorbeeld.
GEGEVENSSTRUCTUREN IN.NET. Inleiding  Enumerated type  Structure  Collecties  Typed collections  Untyped collections.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
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
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
Gameprogrammeren: Properties
OOS Object geOrienteerd Software-ontwerp - 5
Tinpro015b-les4 Klassen.
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Gameprogrammeren: Abstracte klassen
Gameprogrammeren: Tiles en File I/O in Tick Tick
Unified Modeling Language
Gameprogrammeren: Klassen en objecten
‘Inleiding objectgeoriënteerd programmeren met PHP’ ‘Inleiding’
Implementatie Zoekboom
Software Development fundamentals
Gameprogrammeren: Arrays
Transcript van de presentatie:

Van domeinklasse tot implementatie Java Van domeinklasse tot implementatie

Voorbeeld: Lesrooster Analyse: Een lesrooster bestaat uit een aantal lessen, waarbij een les de volgende informatie bevat: de naam van het vak, de dag en het uur (1e uur, 2e uur, et cetera) waarop de les gegeven wordt en het lokaal. Onderstreep de zelfstandige naamwoorden en haal ze apart: Lesrooster, aantal, les (3x), informatie, naam, vak, dag, uur, lokaal Breng de relaties in kaart (modelleren): Een lesrooster bestaat uit een aantal lessen  Bestaat uit, is onderdeel van, bevat

diagram lesrooster bestaat uit lessen: Kl;jk;ljkl

diagram les bestaat uit vak, dag, uur, lokaal: Kl;jk;ljkl

diagram les bestaat uit vak, dag, uur, tijdstip, lokaal: Kl;jk;ljkl

diagram Tijdstip bestaat uit: Kl;jk;ljkl

diagram Kl;jk;ljkl

UML diagram domeinklassen

Implementatie klasse Tijdstip // De attributen public class Tijdstip { private String dag; private int uur; … }

Implementatie klasse Tijdstip public class Tijdstip { private String dag; private int uur; //constructor public Tijdstip( String dag, int uur ) { this.dag = dag; this.uur = uur; } …

Implementatie klasse Tijdstip public class Tijdstip { private String dag; private int uur; public Tijdstip( String dag, int uur ) { this.dag = dag; this.uur = uur; } //Getter public String getDag() { return dag; ….

Implementatie klasse les public class Les { private String vak; private Tijdstip tijdstip; private String lokaal; //constructor public Tijdstip( String vak, Tijdstip tijdstip, String lokaal ) { this.vak = vak; this.tijdstip = tijdstip; this.lokaal = lokaal; } …

Nieuwe les //Eerst tijdstip aanmaken: Tijdstip t = new Tijdstip( “maandag”, 3 ); // dan nieuwe les aanmaken: Les les = new Les( “Java”, t, “015”); //Of via naamloze instantie: Les les = new Les( “Java”, Tijdstip(“maandag”, 3), “015”);

Implementatie lesrooster Vraag: uit hoeveel lessen bestaat lesrooster? Nul? Eén? Twee? Zestien? We weten dat niet van te voren. Oplossing: collecties ArrayList is een collectie-klasse waarin je objecten kunt plaatsen public class Lesrooster { private ArrayList<Les> lijst; … }

Implementatie lesrooster //ArrayList komt uit package java.util: import java.util.* public class Lesrooster { private ArrayList<Les> lijst; //constructor: public Lesrooster() { lijst = new ArrayList<Les>() } …

Toevoegen lessen aan lesrooster // Methode om ArrayList te vullen: public void voegtoe( Les les ) { lijst.add( les ); } // Doorlopen ArrayList: public void print() { for( Les x : lijst ) { System.out.println( x );