Programmeren in Java/Geavanceerde klassen

Uit Wikibooks
Naar navigatie springen Naar zoeken springen


Programmeren in Java In ontwikkeling. Revisiedatum: onbekend

  1. Inleiding Redelijk ontwikkeld. Revisiedatum: 22 augustus 2008
  2. Basis Goed ontwikkeld. Revisiedatum: 24 november 2007
  3. In- & uitvoer In ontwikkeling. Revisiedatum: 24 november 2007
  4. Stringbewerkingen In ontwikkeling. Revisiedatum: 24 november 2007
  5. Arrays Nog vrijwel niets. Revisiedatum: 24 november 2007
  6. Collections Nog vrijwel niets. Revisiedatum: 24 november 2007
  7. Exceptions Redelijk ontwikkeld. Revisiedatum: 24 november 2007
  8. Generics Nog vrijwel niets. Revisiedatum: 24 november 2007
  9. Ingebouwde functies Nog vrijwel niets. Revisiedatum: 20 januari 2007
  10. Multithreading Nog vrijwel niets. Revisiedatum: 20 januari 2007
  11. GUI In ontwikkeling. Revisiedatum: 24 november 2007
  12. JSP: JavaServer Pages Redelijk ontwikkeld. Revisiedatum: 24 november 2007

Klassen

  1. Klassen Goed ontwikkeld. Revisiedatum: 24 november 2007
  2. Overerving In ontwikkeling. Revisiedatum: 20 januari 2007
  3. Geavanceerde klassen In ontwikkeling. Revisiedatum: 24 november 2007

Design Patterns

  1. Strategy Pattern Nog vrijwel niets. Revisiedatum: 26 december 2010

Appendices

  1. Appendix A: Installatie In ontwikkeling. Revisiedatum: 24 november 2007
  2. Appendix B: Javadoc In ontwikkeling. Revisiedatum: 24 november 2007


TE DOEN

TE DOEN
Volgende zaken uitleggen:

  • OO concepten
  • Polymorfisme
  • Heeft een
  • Is een
  • Het object Object
  • Abstracte klasse

Sephiroth 20 jan 2008 23:35 (CET)

Is een en Heeft een relaties[bewerken]

Is een en Heeft een relaties beschrijven de relaties tussen 2 verschillende objecten.

Is een relatie (IS-A)[bewerken]

Een is een relatie betekent dat een object van een ander object overerft. Met die eenvoudige woorden kun je ook achterhalen of een object kan overerven van een ander object. Stel je hebt 2 objecten genaamd auto en voertuig. Als je het volgende zinnetje zegt auto is een voertuig dan weet je meteen dat auto kan overerven van voertuig. Als je het volgend zinnetje zegt voertuig is een auto weet je meteen dat het niet klopt en zal voertuig hoogstwaarschijnlijk niet overerven van auto. Dit is een handige test als je wilt zien of je een object wilt laten overerven van een ander object. Als het die test niet overleeft is het afgeraden om de objecten te laten overerven.

Heeft een relatie (HAS-A)[bewerken]

Een heeft een relatie betekent dat één object de eigenschap is van een ander object. Auto heeft een stuur dit zinnetje betekent dat een stuur object een eigenschap is van het auto object.

Interface[bewerken]

De klasse die een interface implementeert laat toe dat een andere klasse de public methoden van deze klasse kan aanspreken via een instantie van deze interface. Het object van de klasse weet immers dat als een andere klasse een interface implementeert dat deze over de methoden beschikt die beschreven staan in de interface en deze methoden dus kan aanspreken. Deze zekerheid bestaat doordat een interface een contract is dat aangeeft welke public members een klasse moet hebben die de interface implementeert. De public members kunnen constanten of methoden zijn.

concreet:

Java-code: interfaceA.java

1:	public interface interfaceA{
2:	    void methodeA();
3:	    void methodeC();
4:	}


Java-code: KlasseA.java

1:	public class KlasseA implements interfaceA{ // 
2:	    public void methodeA(){
3:	       System.out.println("methodeA aangeroepen");
4:	    }
5:	    public void methodeB(){
6:	       System.out.println("methodeB aangeroepen");
7:	    }
8:	    public void methodeC(){
9:	       System.out.println("methodeC aangeroepen");
10:	    }
11:	}

Regel 1: implements interfaceA wil zeggen dat KlasseA over alle methoden van de interface moet beschikken

Java-code: KlasseB.java

1:	public class KlasseB{
2:	     private interfaceA objectnaamA; 
3:	     
4:	     public KlasseB(){
5:	       objectnaamA=new KlasseA(); 
6:	       objectnaamA.methodeA();    
7:	     }    
8:	public static void main(String[] args){
9:	    KlasseB objectnaamB=new KlasseB();    
10:	}
11:	}

output: methodeA aangeroepen

Regel 5: hier maak je een instantie van de interface waardoor KlasseB weet dat KlasseA over de methoden beschikt die door het contract (interface) zijn opgemaakt.

Regel 6: hier roep je de public methode aan van de klasse die de interface implementeert.

        Merk op dat je via de instantie van de interface de methodeB niet kan aanspreken.

Java-code: KlasseC.java

1:	public class KlasseC{
2:	
3:	   public void methodeD(interfaceA item){
4:	      item.methodeC(); 
5:	   }
6:	
7:	public static void main(String[] args){
8:	   KlasseA objectnaamA=new KlasseA();
9:	   KlasseC objectnaamC=new KlasseC();
10:	   objectnaamC.methodeD(objectnaamA);
11:	}
12:	}

output : methodeC aangeroepen



Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.