Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.

Slides:



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

Zelf objecten maken in VBA Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Programmeren in Java met BlueJ
Van domeinklasse tot implementatie
MagentaPurpleTeal PinkOrangeBlue LimeBrown RedGreen Introductie C# /.NET
Het type int Tekenen met Java operatoren
OOS Object geOrienteerd Software-ontwerp - 4 Codeerperikelen Singleton Specificeren Scheiding GUI en Domein Facade.
Klassen en objecten.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Server side scripting 1 Webtechnologie Lennart Herlaar.
1 Toegepaste Informatica Keuzevak C++ 3°jaar. 2 Studiefiche  Software  Boek (hfst 3-5)  Presentatie (website)
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Opgave 1a: afronden int n=5; double a, b, c, d; a = n * 1.5; b = n * 3 / 2; c = n / 2 * 3; d = 3 / 2 * n; a b c d
Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;
Hoorcollege 8 Game object structuren. Arrays in games Grid-gebaseerd speelveld (zoals Tetris) Lijst van spelers Lijst van inventory items Lijst van alle.
Eerste deeltoets Uitwerking. Resultaten Gemiddeld: 6,01 Tips voor de volgende keer: – Werk in klad uit, schrijf duidelijk – Oefenen met loops en tellertjes.
Hoorcollege 14 Vijanden, excepties. Wat zit allemaal in een level? Startpositie van de speler Waterdruppels Tiles Vijanden Einde van het level Achtergronden.
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
CONTROLESTRUCTUREN (DEEL 2)
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Oefeningen Hoofdstuk 3.
Werken aan Intergenerationele Samenwerking en Expertise.
Hibernate Object relational mapping
Algoritmiek Object-georiënteerd Programmeren
Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept L.M. Bosveld-de Smet.
Algoritmiek Java GUIs, AWT en Swing API Overzicht te bestuderen stof, voorbeeldtentamen Hoorcollege 15 - Ma. 11 dec L.M. Bosveld-de Smet.
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
Hoofdstuk 5 – Object Based Programmeren
6.1 Inleiding HOOFDSTUK 6 METHODEN
1 Hoofdstuk 11: Strings en karakters Inleiding In dit hoofdstuk bespreken we de mogelijkheden van de klassen : String StringBuffer Character StringTokenizer.
1 HOOFDSTUK 5 CONTROLESTRUCTUREN (DEEL 2) 5.1. INTRODUCTIE  Vervolg discussie omtrent gestructureerd programmeren  Introductie van de overblijvende controlestructuren.
Hoofdstuk 3: Inleiding tot Java Applets
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.
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.
Hoorcollege 9 Jewel Jam The revenge. Hierarchie van game objecten Game object (lijst) Game object (grid) Game object (lijst) Game object.
Internetapplicaties - IV Collecties 1 Internetapplicaties Deel 4: Java hulpklassen: Collecties.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
OO Analyse in de praktijk OO Analyse in de praktijk IV OO basisregels.
Herhaling Java-programmatie en geautomatiseerd testen (vervolg)
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 15: Herhaling Java-programmatie en geautomatiseerd testen.
Hoofdstuk 10.1 Toepassing: Bitmap-editor. nKlik punten op scherm nPlaatje verschuiven left, right, up, down nPlaatje bewerken clear, invert, bold, outline.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 5 Herhaling, game object interactie. Ball class class Ball { Texture2D colorRed, colorGreen, colorBlue; Texture2D currentColor; Vector2 position,
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
The beast has been released! 4 arcade-style games Interviews with famous people in the game industry Develop browsers games for any device (phone, tablet,
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Algoritmiek Class Hierarchies, Inheritance. Hoorcollege 12 - Ma. 20 nov L.M. Bosveld-de Smet.
Constructoren Genesis 1:1 Aarde a1 = new Aarde(“Adam”, “Eva”);
Hoofdstuk 6 – Objectgeoriënteerd Programmeren: Overerving
Hoofdstuk 14.1 Algoritmen: Zoeken in een netwerk.
Encapsulatie: Every man is an island upon himself.
Polymorphisme en Interfaces: inleiding
Opgave 1a ncompiler: vertaalt broncode naar machine-uitvoerbare code ninterpreter: voert broncode direct uit.
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
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.
Herhaling: He who does not learn from history, is doomed to repeat it.
Eigen klassen maken A new way of thinking.. Wat? Zie voorbeeld. Zie voorbeeld.
Bestanden Lezen Schrijven Afbeeldingen. Bestandstypen.txt.png eigen.
Objectgeoriënteerd Programmeren (2)
Gameprogrammeren: Overerving in Painter
OOS Object geOrienteerd Software-ontwerp - 5
Arjan Egges Paul Bergervoet Wouter van Toll
Digitale beeldverwerking
Transcript van de presentatie:

Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 4 Objecten

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

Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.3 Complexe Interacties

Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.4 Optimale Taakverdeling play

Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.5 … met Objecten play

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

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

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 { … }

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

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 "{ …}"

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); }

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

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 + "]"

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,...)

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; }

Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.16 Taakverdeling … met JUnit runTests testCircle TestShape testRectangle

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