De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hoofdstuk 10 Overerving. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.

Verwante presentaties


Presentatie over: "Hoofdstuk 10 Overerving. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud."— Transcript van de presentatie:

1 Hoofdstuk 10 Overerving

2 versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud ( ) { return x+y; } } class Twee { int x, y; int oud ( ) { return x+y; } } int z; int nieuw ( ) { return x+y+z; } Drie +1;

3 raar asymmetrisch veel gedoe Voortborduren op eerder gedaan werk nTweede poging: “delegeren” class Twee { int x, y; int oud ( ) { return x+y; } } class Twee { Twee t; int oud ( ) { return t.oud(); } } int z; int nieuw ( ) { return t.x+t.y+z; } Drie

4 Voortborduren op eerder gedaan werk nDerde poging: “subklassen” class Twee { int x, y; int oud ( ) { return x+y; } } class Twee extends Twee { } int z; int nieuw ( ) { return x+y+z; } Drie

5 Subklassen nclass Ruimte extends Canvas nRuimte is een subklasse van Canvas nCanvas is de superklasse van Ruimte nElk Ruimte-object is tevens Canvas-object nEen Ruimte-object is een bijzonder geval van een Canvas-object

6 Over-erving nObjecten van een subklasse erven variabelen en methoden van de superklasse meter minmax Thermo geërfd zelf gede- clareerd

7 Superklassen in libraries nApplet extends Panel nPanel extends Container superklasse super- superklasse

8 Ge-erfde methodes nApplet erft add van klasse Container en nog veel meer...

9 Klasse-hiërarchie ontwerpkeuze: ondergrond gaat voor motorisatie ontwerpkeuze: motorfiets is meer motor dan fiets Vervoer middel Auto Motor Fiets Voertuig Boot Vliegtuig Vracht Wagen Stoom Boot Motor Voertuig Fiets Motor Boot Zeil Boot

10 Klasse-hiërarchie nclass Voertuig extends Vervoermiddel class Boot extends Vervoermiddel “is een” Vervoer middel Voertuig Boot

11 Klasse-hiërarchie in AWT nButton is een Component nApplet is ook een Component (niet zomaar eentje, maar Container, en zelfs Panel ) Component TextArea TextField Panel Window Applet Frame DialogFileDialog Button Canvas Label Scrollbar Text Component Container a.add(b); Component HalloAppletContainer

12 Klassen vs. Interfaces nKlasse: Groep methoden + declaraties nInterface: Groep methode-headers “wensenlijstje” dat door een andere klasse moet worden geïmplementeerd

13 “Interface” in 3 betekenissen nHardware: stekkertjes zijn het “gezicht” van de computer nSoftware: knopjes zijn het “gezicht” van programma nProgrammeren: methoden zijn het “gezicht” van een object class Hallo implements ActionListener { “GUI”

14 Interface-hiërarchie in AWT Event Listener Action Listener Adjustment Listener Component Listener Mouse Listener MouseMotion Listener

15 Klasse-hiërarchie in AWT Action Event Object AWT Event Input Event Focus Event Mouse Event Key Event Component Event Adjustment Event

16 Alles in één hiërarchie Methoden in klasse Object : ntoStringherdefinieerbaar in subklasse nclonemaakt exacte kopie String Component Event Object

17 Samenvatting nSubklassen uobjecten erven variabelen/methoden van superklassen uobjecten zijn/kunnen alles wat superklasse-object ook kon usubklasse-objecten zijn dus acceptabel waar een superklasse-object nodig is §als rechterkant van een toekenning §als parameter van een methode


Download ppt "Hoofdstuk 10 Overerving. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud."

Verwante presentaties


Ads door Google