Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdGerarda Bauwens Laatst gewijzigd meer dan 10 jaar geleden
1
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 4 Objecten
2
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.2 Inhoud Waarom Objecten ? –complexiteit & hergebruik Klassen –overerving (subklassen) abstracte klassen –polimorfisme –constructor Applet –HelloWorld –HelloWorld in HTML file
3
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.3 Complexe Interacties
4
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.4 Optimale Taakverdeling play
5
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.5 … met Objecten play
6
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.6 Shape String toString() double perimeter () double surfaceArea() translate (int x, int y) Rectangle setTopleftX (int x) setTopLeftY (int y) setWidth (int w) setHeighth(int h) int getTopleftX () int getTopLeftY () int getWidth () int getHeight() Circle setCentreX (int x) setCentreY (int y) setRadius (int r) int getCentreX () int getCentreY () int getRadius () overerving "inheritance" Overerving (Subklassen) subklassen
7
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.7 public class Naamsubklasse extends Naamsuperklasse { … } Subklasse-declaratie (vorm) "extends" indien geen "extends": subklasse Object Met o.a. volgende methodes public String toString() public boolean equals (Object obj) protected Object clone() throws CloneNotSupportedException
8
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.8 Subklasse-declaratie ( voorbeeld ) declareer klasse "Shape" (subklasse van "Object") –krijgt methodes toString, equals, clone –definieert perimeter, surfaceArea, translate declareer klasse "Rectangle" (subklasse van "Shape") –krijgt alle methodes van Shape declareer klasse "Circle" (subklasse van "Shape") –krijgt alle methodes van Shape package lecture4; public class Shape { public double perimeter (); {… } public double surfaceArea(); {… } public void translate (int x, int y); {… } } public class Rectangle extends Shape { … } public class Circle extends Shape { … }
9
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.9 Shape String toString() double perimeter () double surfaceArea() translate (int x, int y) Rectangle … Circle … abstracte klasse "declareert" interface maar implementatie gebeurt in subklassen Abstracte Klassen
10
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.10 public abstract class Naamsubklasse extends Naamsuperklasse { … public abstract type naamProcedure (parameters); } Abstracte Klasse declaratie (vorm) "abstract" voor de klasse "abstract" voor methodes … zonder implementatie (geen "{ …}"
11
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.11 Abstracte klasse-declaratie ( voorbeeld ) declareer abstracte klasse "Shape" definieert abstracte methodes –perimeter –surfaceArea –translate package lecture4; public class Shape { public abstract double perimeter (); public abstract double surfaceArea(); public abstract void translate (int x, int y); }
12
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.12 Import (File >> New project...) (File >> New package... lecture4) File>> import... Import Window –General >> File System –Next > Import Window (2) –(1) From directory: selecteer te importeren folder –(2) selecteer de te importeren files –(3) into folder: de naam van het project en de package –(4) create selected folders only Finish 1 2 3 4
13
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.13 Object String toString() Rectangle String toString() Circle String toString() "toString" is voor elk wat anders Polimorfisme Shape return "Circle [centreY = " + _centreX + "; centreY = " + _centreY + "; radius = " + _radius return "Rectangle [topLeftX = " + _topLeftX + "; topLeftY = " + _topLeftY + "; width = " + _width + "; height = " + _height + "]"
14
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.14 Constructor (vorm) Constructor maakt één bepaald soort objecten aan (= via "new()") public class NaamKlasse … { … public NaamKlasse (parameters); } constructor methode naam van de klasse … gevolgd door parameterlijst parameters door te geven aan new () default constructor NaamKlasse() initializeert object met lege waardes (0,...)
15
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.15 Constructor-declaratie ( voorbeeld ) klasse "Circle" definieert 4 constructor methodes –Circle () –Circle (int) –Circle(int, int) –Circle (int, int, int) public class Circle extends Shape { int _centreX = 0, _centreY = 0, _radius = 0; public Circle () { } public Circle (int radius) { _radius = radius; } public Circle (int centreX, int centreY){ _centreX = centreX; _centreY = centreY; } public Circle (int centreX, int centreY, int radius) { _centreX = centreX; _centreY = centreY; _radius = radius; }
16
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.16 Taakverdeling … met JUnit runTests testCircle TestShape testRectangle
17
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.17 Taakverdeling … met Applets eventloop mouseDown HelloWorld Applet paint <APPLET code = "lecture4.HelloWorldApplet.class" width=400 height=160> mouseDrag
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.