De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.

Verwante presentaties


Presentatie over: "Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma."— Transcript van de presentatie:

1 Overerving: It’s a kind of magic…

2 Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma

3 Principes van OO: 1) Overerving

4 Principes van OO: 1) Overerving Een nieuwe klasse maken door een reeds bestaande klasse aan te passen.

5 Principes van OO: 1) Overerving Een nieuwe klasse maken door een reeds bestaande klasse aan te passen. Bvb. een nieuwe Button klasse maken die geel en rode Buttons aanmaakt.

6 Principes van OO: 1) Overerving Een nieuwe klasse maken door een reeds bestaande klasse aan te passen. Of: een nieuwe GSMControle klasse maken die een nieuw type GSM aanstuurt.

7 Principes van OO: 1) Overerving Nieuwe klasse = “subclass” Bestaande klasse = “superclass”

8 Principes van OO: 1) Overerving Nieuwe klasse = “subclass” Bestaande klasse = “superclass” public class Klasse1 extends Klasse2 {}

9 Principes van OO: 1) Overerving Nieuwe klasse = “subclass” Bestaande klasse = “superclass” public class GRKnop extends Button {} Vb:

10 Overerving: principe - De nieuwe klasse begint met dezelfde attributen en methoden als de superklasse; dus alsof je alles van de superklasse nog eens hebt overgeschreven.

11 Overerving: principe - De nieuwe klasse begint met dezelfde attributen en methoden als de superklasse; dus alsof je alles van de superklasse nog eens hebt overgeschreven. - Je kunt dan aanpassingen gaan maken om je nieuwe klasse te bouwen (zie volgende slide).

12 Overerving: principe - De nieuwe klasse begint met dezelfde attributen en methoden als de superklasse; dus alsof je alles van de superklasse nog eens hebt overgeschreven. - Je kunt dan aanpassingen gaan maken om je nieuwe klasse te bouwen (zie volgende slide). - Voorbeeld.

13 Uitzondering: Constructoren worden niet overgeërfd. Constructoren worden niet overgeërfd.

14 Uitzondering: Je kunt wel de constructoren van de superklasse aanroepen vanuit de subklasse (via super( ) ). Je kunt wel de constructoren van de superklasse aanroepen vanuit de subklasse (via super( ) ).

15 Wat mag?

16 1) Je kunt nieuwe attributen toevoegen

17 Wat mag? 1) Je kunt nieuwe attributen toevoegen 2) Je kunt constructoren toevoegen

18 Wat mag? 1) Je kunt nieuwe attributen toevoegen 2) Je kunt constructoren toevoegen 3) Je kunt nieuwe methoden toevoegen

19 Wat mag? 1) Je kunt nieuwe attributen toevoegen 2) Je kunt constructoren toevoegen 3) Je kunt nieuwe methoden toevoegen 4) Je kunt bestaande methoden iets anders laten doen

20 Wat mag niet? Je kunt geen overgeërfde attributen weglaten. Je kunt geen overgeërfde attributen weglaten.

21 Wat mag niet? Je kunt geen overgeërfde attributen weglaten. Je kunt geen overgeërfde attributen weglaten. Je kunt geen overgeërfde methoden weglaten. Je kunt geen overgeërfde methoden weglaten.

22 Wat mag niet? Je kunt geen overgeërfde attributen weglaten. Je kunt geen overgeërfde attributen weglaten. Je kunt geen overgeërfde methoden weglaten. Je kunt geen overgeërfde methoden weglaten. Maw. je kunt enkel extra elementen toevoegen of overgeërfde methoden iets anders laten doen.

23 Hoe doe je het?

24 Om elementen te houden zoals ze zijn, doe je niets. Om elementen te houden zoals ze zijn, doe je niets.

25 Hoe doe je het? Om elementen te houden zoals ze zijn, doe je niets. Om elementen te houden zoals ze zijn, doe je niets. Als je iets wil bijvoegen of veranderen aan de oude klasse, dan moet je (enkel) dit typen in de nieuwe klasse. Als je iets wil bijvoegen of veranderen aan de oude klasse, dan moet je (enkel) dit typen in de nieuwe klasse.

26 Hoe doe je het? Om elementen te houden zoals ze zijn, doe je niets. Om elementen te houden zoals ze zijn, doe je niets. Als je iets wil bijvoegen of veranderen aan de oude klasse, dan moet je (enkel) dit typen in de nieuwe klasse. Als je iets wil bijvoegen of veranderen aan de oude klasse, dan moet je (enkel) dit typen in de nieuwe klasse. Voorbeeld. Voorbeeld.

27 Overervingsmodel Java De klasse Applet en haar basisklassen (= superklassen) De klasse Applet en haar basisklassen (= superklassen) De klasse Object De klasse Object

28 Constructoren: super( )

29 Constructoren van de superklasse worden niet overgeërfd. Constructoren van de superklasse worden niet overgeërfd.

30 Constructoren: super( ) Constructoren van de superklasse worden niet overgeërfd. Constructoren van de superklasse worden niet overgeërfd. Men kan constructoren van de superklasse aanroepen vanuit constructoren van de subklasse, via super( ). Men kan constructoren van de superklasse aanroepen vanuit constructoren van de subklasse, via super( ).

31 Constructoren: super( ) Constructoren van de superklasse worden niet overgeërfd. Constructoren van de superklasse worden niet overgeërfd. Men kan constructoren van de superklasse aanroepen vanuit constructoren van de subklasse, via super( ). Men kan constructoren van de superklasse aanroepen vanuit constructoren van de subklasse, via super( ). super( ) moet, indien het gebruikt wordt, als eerst regel staan (zoals ook bij this( ) ). (voorbeeld GRTextField) super( ) moet, indien het gebruikt wordt, als eerst regel staan (zoals ook bij this( ) ). (voorbeeld GRTextField)

32 Constructoren: super( ) Als super() niet gebruikt wordt, dan roept Java automatisch de default constructor van de superklasse aan om haar datamembers te initialiseren. Als super() niet gebruikt wordt, dan roept Java automatisch de default constructor van de superklasse aan om haar datamembers te initialiseren.

33 Constructoren: super( ) Als super() niet gebruikt wordt, dan roept Java automatisch de default constructor van de superklasse aan om haar datamembers te initialiseren. Als super() niet gebruikt wordt, dan roept Java automatisch de default constructor van de superklasse aan om haar datamembers te initialiseren. Gevaar: dit compileert niet als de basisklasse geen default (of automatische default) constructor heeft (wanneer is dit?). Gevaar: dit compileert niet als de basisklasse geen default (of automatische default) constructor heeft (wanneer is dit?).

34 Klassendiagram p 238 boek p 238 boek p 290 boek p 290 boek

35 Methoden: overriding = een bestaande methode in de superklasse iets anders laten doen in de subklasse.

36 Methoden: overriding = een bestaande methode in de superklasse iets anders laten doen in de subklasse. p 293 zie boek p 293 zie boek

37 Methoden: overriding = een bestaande methode in de superklasse iets anders laten doen in de subklasse. p 293 zie boek p 293 zie boek Adhv oefening Cirkel -> Ring Adhv oefening Cirkel -> Ring

38 Typecasting tussen klassen Referentie: Referentie: 1) Houdt bij over welk object het gaat 2) Bepaalt welke methods en attributen dit object kan gebruiken.


Download ppt "Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma."

Verwante presentaties


Ads door Google