1 / 38

Overerving:

Overerving:. It’s a kind of magic…. Principes van OO:. Overerving Encapsulatie Polymorphisme = (deel van het) OO. paradigma. Principes van OO:. Overerving. Principes van OO:. Overerving Een nieuwe klasse maken door een reeds bestaande klasse aan te passen. Principes van OO:.

margie
Download Presentation

Overerving:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overerving: It’s a kind of magic…

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

  3. Principes van OO: • Overerving

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

  5. Principes van OO: • 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: • 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: • Overerving Nieuwe klasse = “subclass” Bestaande klasse = “superclass”

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

  9. Principes van OO: • 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.

  14. Uitzondering: • Constructoren worden niet overgeërfd. • Je kunt wel de constructoren van de superklasse aanroepen vanuit de subklasse (via super( ) ).

  15. Wat mag?

  16. Wat mag? • Je kunt nieuwe attributen toevoegen

  17. Wat mag? • Je kunt nieuwe attributen toevoegen • Je kunt constructoren toevoegen

  18. Wat mag? • Je kunt nieuwe attributen toevoegen • Je kunt constructoren toevoegen • Je kunt nieuwe methoden toevoegen

  19. Wat mag? • Je kunt nieuwe attributen toevoegen • Je kunt constructoren toevoegen • Je kunt nieuwe methoden toevoegen • Je kunt bestaande methoden iets anders laten doen

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

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

  22. Wat mag niet? • Je kunt geen overgeërfde attributen 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. Hoe doe je het? • 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. • 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. • Als je iets wil bijvoegen of veranderen aan de oude klasse, dan moet je (enkel) dit typen in de nieuwe klasse. • Voorbeeld.

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

  28. Constructoren: super( )

  29. Constructoren: super( ) • Constructoren van de superklasse worden niet overgeërfd.

  30. Constructoren: super( ) • Constructoren van de superklasse worden niet overgeërfd. • 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. • 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)

  32. Constructoren: super( ) • 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. • Gevaar: dit compileert niet als de basisklasse geen default (of automatische default) constructor heeft (wanneer is dit?).

  34. Klassendiagram • p 238 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

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

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

More Related