Java

Post on 13-Feb-2016

62 views 6 download

description

Java. Van domeinklasse tot implementatie. Voorbeeld: Lesrooster . Analyse: - PowerPoint PPT Presentation

Transcript of Java

JAVAVAN 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

DIAGRAMTijdstip bestaat uit:

Kl;jk;ljkl

DIAGRAM

Kl;jk;ljkl

UML DIAGRAM DOMEINKLASSEN

IMPLEMENTATIE KLASSE TIJDSTIP

// De attributenpublic class Tijdstip {

private String dag;private int uur;…}

IMPLEMENTATIE KLASSE TIJDSTIP

public class Tijdstip {private String dag;private int uur;

//constructorpublic Tijdstip( String dag, int uur ) {this.dag = dag;this.uur = uur;}…

}

IMPLEMENTATIE KLASSE TIJDSTIPpublic class Tijdstip {

private String dag;private int uur;

public Tijdstip( String dag, int uur ) {this.dag = dag;this.uur = uur;}//Getterpublic String getDag() {return dag;}….

}

IMPLEMENTATIE KLASSE LESpublic class Les {

private String vak;private Tijdstip tijdstip;private String lokaal;

//constructorpublic 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

plaatsenpublic 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 );}

}