Hoofdstuk 10 Overerving.

Slides:



Advertisements
Verwante presentaties
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Advertisements

Hoofdstuk 10.2 Rekenmachine-casus.
Het type int Tekenen met Java operatoren
Klassen en objecten.
GWT-RPC Bram Vandeputte. Wat is GWT-RPC Raamwerk voor envoudige client-server uitwisseling van Java Objecten. Gebaseerd op de Java Servlet architectuur.
Hoofdstuk 2 Hallo, C# !.
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Overerving Hoofdstuk 11 Hoofdstuk 11.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 8 Objecten en klassen.
Oefeningen Hoofdstuk 3.
Consoletoepassing Variabelen Klassen
Algoritmiek Java GUIs, AWT en Swing API Overzicht te bestuderen stof, voorbeeldtentamen Hoorcollege 15 - Ma. 11 dec L.M. Bosveld-de Smet.
Overerving Toepassingen. Overerving: toepassingen zoefening 1 : eenvoudige overerving.
6.1 Inleiding HOOFDSTUK 6 METHODEN
JAVA1 H 10. OBJECTGEORIENTEERD PROGRAMMEREN: POLYMORFISME 1. INLEIDING Polymorfisme "programmeren in het algemene" alle objecten in dezelfde klassehiërarchie.
JAVA1 H 9. OBJECTGEORIENTEERD PROGRAMMEREN: OVERERVING 1. INLEIDING Wat is overerving (inheritance)? Overerving is een mechanisme waarbij software opnieuw.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
Opgave 2a nMet een InputStream lees je bytes uit een binare file nMet een Reader lees je characters uit een tekstfile.
Hoofdstuk 9 Objecten en klassen.
Java GUI nJava is platform-onafhankelijk nLook&feel past zich aan aan het platform new FileDialog(……).show();
Arrays.
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
Interfaces Hoofdstuk 23 Hoofdstuk 23.
Polymorfisme: inleiding Hello me, meet the real me…
Hoofdstuk 11.3 Algoritmen: Zoeken in een netwerk.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 14.1 Algoritmen: Zoeken in een netwerk.
Hoofdstuk 10.3 Tekst-editor: MDI-interface Dialogen Files lezen Abstracte klassen.
Hoofdstuk 14.2 Algoritmen: Automatische taalherkenning.
Polymorphisme en Interfaces: inleiding
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 12 Ontwerp van programma’s. Ontwerp van de GUI nStandaard in Applets: alle met add toegevoegde componenten komen naast elkaar (totdat de regel.
Opgave 1a ncompiler: vertaalt broncode naar machine-uitvoerbare code ninterpreter: voert broncode direct uit.
Hoofdstuk 3 Tekenen en rekenen.
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
Imperatief programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat ukopen bij A-Eskwadraat (BBG-238) uof zelf downloaden en uitprinten nSolis-id.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Variabelen. Wat zijn variabelen? Klassiek: een variabele houdt informatie bij. Klassiek: een variabele houdt informatie bij. bvb: int getal; getal = 5;
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Eerste deeltentamen nNagekeken werk ligt voor in de zaal nNeem je eigen werk mee: in het college wordt het besproken nVragen over de beoordeling: in de.
1e Deeltentamen nNagekeken werk ligt voor in de zaal (alfabetisch op achternaam) nNeem het even mee, de uitwerking wordt in het college besproken nDiscussies.
Variabelen. Wat zijn variabelen? In een programmeertaal zijn er “dingen” nodig die ervoor zorgen dat het programma informatie voor korte of langere tijd.
Exceptions Exception: nUitzonderlijke toestand die door een methode wordt opgeworpen nDe situatie moet door de aanroeper van de methode worden opgevangen.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Windows applicatieontwikkeling
Objectgeoriënteerd Programmeren (2)
Aanroep van een methode voert opdrachten uit in de body daarvan
Voortborduren op eerder gedaan werk
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Overerving
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Overerving in Painter
Gameprogrammeren: Programmastructuur
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Gameprogrammeren: Abstracte klassen
Aanroep van een methode voert opdrachten uit in de body daarvan
Arjan Egges & Paul Bergervoet
Exceptions Exception:
Software Development fundamentals
Transcript van de presentatie:

Hoofdstuk 10 Overerving

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

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

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

Subklassen class Ruimte extends Canvas Ruimte is een subklasse van Canvas Canvas is de superklasse van Ruimte Elk Ruimte-object is tevens Canvas-object Een Ruimte-object is een bijzonder geval van een Canvas-object

Over-erving Objecten van een subklasse erven variabelen en methoden van de superklasse Thermo geërfd meter min max zelf gede- clareerd

Superklassen in libraries Applet extends Panel Panel extends Container super- superklasse superklasse

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

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

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

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

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

“Interface” in 3 betekenissen Hardware: stekkertjes zijn het “gezicht” van de computer Software: knopjes zijn het “gezicht” van programma “GUI” Programmeren: methoden zijn het “gezicht” van een object class Hallo implements ActionListener {

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

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

Alles in één hiërarchie Object String Component Event Object Methoden in klasse Object : toString herdefinieerbaar in subklasse clone maakt exacte kopie

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