Overerving & Polymorfisme
|
|
|
- Nathalie Cools
- 10 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Overerving & Polymorfisme
2 Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit van werknemer + extra s Hergebruik van code
3 public class Werknemer { private Datum geboortedatum; private String naam; public Werknemer() { public String getnaam() { return naam; public void setnaam(string n) { naam = n; public class Docent { private Datum geboortedatum; private String naam; public Docent() { public String getnaam() { return naam; public void setnaam(string n) { naam = n; private Vak[] vakken; public boolean doceert(vak v) { for (int i = 0; i < vakken.length; i++) if (vakken[i].equals(v)) return true; return false;
4 public class Werknemer { private Datum geboortedatum; private String naam; public Werknemer() { public String getnaam() { return naam; public void setnaam(string n) { naam = n; public class Docent extends Werknemer { public Docent() { private Vak[] vakken; public boolean doceert(vak v) { for (int i = 0; i < vakken.length; i++) if (vakken[i].equals(v)) return true; return false;
5 public class Werknemer { private Datum geboortedatum; private String naam; public Werknemer() { public String getnaam() { return naam; public void setnaam(string n) { naam = n; Docent d = new Docent(); d.setnaam("joost Vennekens"); System.out.println(d.getNaam()); public class Docent extends Werknemer { public Docent() { private Vak[] vakken; public boolean doceert(vak v) { for (int i = 0; i < vakken.length; i++) if (vakken[i].equals(v)) return true; return false;
6 public class ComplexGetal { private double reeel; private double imaginair; public ComplexGetal(double r, double i) { reeel = r; imaginair = i; public ComplexGetal plus(complexgetal ander) { return new ComplexGetal(ander.getReeel() + getreeel(), ander.getimaginair() + getimaginair()); public class ReeelGetal extends ComplexGetal { public ReeelGetal(double getal) { super (getal, 0); ReeelGetal r = new ReeelGetal(5.0); ReeelGetal s = new ReeelGetal(5.0); ComplexGetal som = r.plus(s);
7 Superklasse Bankrekening Subklasse Spaarrekening Zichtrekening public class Bankrekening {... public class Zichtrekening extends Bankrekening {... public class Spaarrekening extends Bankrekening {...
8 public class Rechthoek { private double breedte; private double hoogte; public Rechthoek(double h, double b) { breedte = b; hoogte = h; public double oppervlakte() { return breedte * hoogt; public void draai() { double tmp = breedte; breedte = hoogte; hoogte = tmp; public class Vierkant extends Rechthoek { public Vierkant(double grootte) { super (grootte, grootte); Vierkant v = new Vierkant(7.5); v.draai();
9 public class Rechthoek { private double breedte; private double hoogte; Overloading public Rechthoek(double h, double b) { breedte = b; hoogte = h; public double oppervlakte() { return breedte * hoogte; public void draai() { double tmp = breedte; breedte = hoogte; hoogte = tmp; public class Vierkant extends Rechthoek { public Vierkant(double grootte) { super (grootte, grootte); public void draai() { Vierkant v = new Vierkant(7.5); v.draai();
10 Polymorfisme Verschillende methodes mogen dezelfde naam hebben als hun argumenten verschillen Geldt ook voor impliciete argument this De meest specifieke methode die van toepassing is wordt uitgevoerd
11 Dynamische typering Een variabele heeft een type Statisch gedeclareerd Bankrekening mijnrekening; Een object heeft een type Dynamisch bepaald mijnrekening = new Zichtrekening();
12 Overeenkomst Type van een object moet een subklasse zijn van type van de variable Bankrekening mijnrekening = new Bankrekening(); Bankrekening mijnrekening = new Zichtrekening(); Zichtrekening mijnrekening = new Bankrekening(); Vierkant x = new Rechthoek(); Rechthoek x = new Vierkant(); Vierkant x = new Vierkant() Gelijkaardig voor primitieve types int a = 9.2; double a = 9;
13 Overeenkomst Type van een object moet een subklasse zijn van type van de variable Bankrekening mijnrekening = new Bankrekening(); Bankrekening mijnrekening = new Zichtrekening(); Zichtrekening mijnrekening = new Bankrekening(); Vierkant x = new Rechthoek(); Rechthoek x = new Vierkant(); Vierkant x = new Vierkant() Gelijkaardig voor primitieve types int a = 9.2; double a = 9;
14 public class Rechthoek { protected double breedte; protected double hoogte;... public boolean pastin(rechthoek ander) { return (this.breedte <= ander.breedte) && (this.hoogte <= ander.hoogte) (this.breedte <= ander.hoogte) && (this.hoogte <= ander.breedte) ; public boolean pastin(vierkant ander) { return (this.breedte <= ander.breedte) && (this.hoogte <= ander.breedte) ; Vierkant x = new Vierkant(7); Rechthoek y = new Vierkant(2); public class Vierkant extends Rechthoek { Rechthoek z = new Rechthoek(3,4);... x.pastin(x); public boolean pastin(vierkant ander) { y.pastin(x); return (this.breedte <= ander.breedte); z.pastin(x); x.pastin(y); public boolean pastin(rechthoek ander) { return (this.breedte <= ander.breedte) && (this.breedte <= ander.hoogte) ; Dynamische type Statische type
15 public class Rechthoek { protected double breedte; protected double hoogte;... public boolean pastin(rechthoek ander) { return (this.breedte <= ander.breedte) && (this.hoogte <= ander.hoogte) (this.breedte <= ander.hoogte) && (this.hoogte <= ander.breedte) ; public boolean pastin(vierkant ander) { return (this.breedte <= ander.breedte) && (this.hoogte <= ander.breedte) ; Vierkant x = new Vierkant(7); Rechthoek y = new Vierkant(2); public class Vierkant extends Rechthoek { Rechthoek z = new Rechthoek(3,4);... x.pastin(x); public boolean pastin(vierkant ander) { y.pastin(x); return (this.breedte <= ander.breedte); z.pastin(x); x.pastin(y); public boolean pastin(rechthoek ander) { return (this.breedte <= ander.breedte) && (this.breedte <= ander.hoogte) ; Dynamische type Statische type
16 public class Rechthoek { protected double breedte; protected double hoogte;... public boolean pastin(rechthoek ander) { return (this.breedte <= ander.breedte) && (this.hoogte <= ander.hoogte) (this.breedte <= ander.hoogte) && (this.hoogte <= ander.breedte) ; public boolean pastin(vierkant ander) { return (this.breedte <= ander.breedte) && (this.hoogte <= ander.breedte) ; Vierkant x = new Vierkant(7); Rechthoek y = new Vierkant(2); public class Vierkant extends Rechthoek { Rechthoek z = new Rechthoek(3,4);... x.pastin(x); public boolean pastin(vierkant ander) { y.pastin(x); return (this.breedte <= ander.breedte); z.pastin(x); x.pastin(y); public boolean pastin(rechthoek ander) { return (this.breedte <= ander.breedte) && (this.breedte <= ander.hoogte) ; Dynamische type Statische type
17 public class ComplexGetal {... public ComplexGetal plus(complexgetal ander) { return new ComplexGetal(ander.getReeel() + getreeel(), ander.getimaginair() + getimaginair()); public class ReeelGetal extends ComplexGetal {... public ReeelGetal plus(reeelgetal ander) { return new ReeelGetal(ander.getReeel() + getreeel()); ReeelGetal r = new ReeelGetal(5.0); ReeelGetal s = new ReeelGetal(5.0); ReeelGetal som = r.plus(s);
18 public class ComplexGetal {... public ComplexGetal plus(complexgetal ander) { double som_r = ander.getreeel() + getreeel(); double som_i = ander.getimaginair() + getimaginair(); if (som_i == 0) return new ReeelGetal(som_r); else return new ComplexGetal(som_r, som_i); public class ReeelGetal extends ComplexGetal {... public ReeelGetal plus(reeelgetal ander) { return new ReeelGetal(ander.getReeel() + getreeel()); Mag dit wel?
19 public class ComplexGetal {... public ComplexGetal plus(complexgetal ander) { double som_r = ander.getreeel() + getreeel(); double som_i = ander.getimaginair() + getimaginair(); if (som_i == 0) return new ReeelGetal(som_r); else return new ComplexGetal(som_r, som_i); public class ReeelGetal extends ComplexGetal {... public ReeelGetal plus(reeelgetal ander) { return new ReeelGetal(ander.getReeel() + getreeel()); Mag dit wel? ComplexGetal r = new ComplexGetal(1,-1); ComplexGetal s = new ComplexGetal(1,1); ReeelGetal som = r.plus(s);
20 Typecasting Soms weten wij dat een variabele een strenger type heeft dan de compiler kan afleiden ComplexGetal r = new ComplexGetal(1,-1); ComplexGetal s = new ComplexGetal(1,1); ReeelGetal som = (ReeelGetal) r.plus(s);
21 Kwis (3) class X { public void a() { System.out.println("x"); class Y extends X { public void a() { System.out.println("y"); class Z extends Y { public void a() { System.out.println("z"); public static void main(string[] args) { X x = new X(); x.a(); x = new Z(); x.a(); Y y = new Z(); y.a(); y = new Y(); y.a();
22 public class Lijst { private Element eerste; public void voegtoe(int i) { if (eerste!= null) eerste.voegtoe(i); else eerste = new Element(i); public String tostring() { Element huidige = eerste; String resultaat = ""; while (huidige!= null) { resultaat += huidige.tostring(); resultaat += " "; huidige = huidige.getvolgende(); return resultaat; class Element { private int waarde; private Element volgende; private void setvolgende(element v) { volgende = v; Element getvolgende() { return volgende; Element(int i) { waarde = i; void voegtoe(int i) { if (volgende == null) setvolgende(new Element(i)); else getvolgende().voegtoe(i); public String tostring() { return "" + waarde;
23 public class Lijst { private Element eerste; public void voegtoe(int i) { if (eerste!= null) eerste.voegtoe(i); else eerste = new Element(i); public String tostring() { Element huidige = eerste; String resultaat = ""; while (huidige!= null) { resultaat += huidige.tostring(); resultaat += " "; huidige = huidige.getvolgende(); return resultaat; public class Vermenigvuldigingstafel { private Lijst tafel; public Vermenigvuldigingstafel(int g) { tafel = new Lijst(); for (int i = 1; i <= 10; i++) { tafel.voegtoe(g*i); public Lijst gettafel() { return tafel; public static void main(string[] a) { int g = Integer.parseInt(a[0]); Vermenigvuldigingstafel t; t = new Vermenigvuldigingstafel(g); System.out.println(t.getTafel());
24 Slotbemerkingen
25 Het paradigma OO is manier om over software systeem te denken nl., als verzameling van objecten die elk verantwoordelijke zijn voor bepaald stuk afgeschermde functionaliteit die al dan niet kunnen overkomen met objecten uit de echte wereld
26 Belangrijke termen Object Klasse Encapsulatie Overerving Polymorfisme
Objectgericht programmeren 1.
Objectgericht programmeren 1 [email protected] http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie
Ingebouwde klassen & methodes
Ingebouwde klassen & methodes Statische methodes Methodes die bij een klasse horen ipv. bij een object public class Docent { public static Docent departementshoofd() { return new Docent("Jan Ivens"); private
Abstracte klassen & Interfaces
Abstracte klassen & Interfaces Overerving public class Vierhoek {... Vierhoek public class Rechthoek extends Vierhoek {... public class Ruit extends Vierhoek {... Rechthoek Ruit Elke rechthoek is een vierhoek.
Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.
Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze
IMP Uitwerking week 13
IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het
Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
VI. Klassen en objecten
VI. Klassen en objecten Klassen en objecten vormen het fundament van OOP. We zullen dus uitgebreid aandacht besteden aan klassen en objecten. U kunt Java niet begrijpen zonder goed met klassen en objecten
Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.
Objectgericht programmeren 1
KU Leuven Campus De Nayer Industrieel ingenieur 3Ba Elektronica-ICT Objectgericht programmeren 1 Academiejaar 2014-15 Lesgever: J. Vennekens Cursustekst ism. H. Crauwels II Inhoudsopgave 1 Inleiding 1
Objectgericht ontwerpen
Associatie KULeuven Hogeschool voor Wetenschap & Kunst De Nayer instituut Industrieel ingenieur Opleiding Elektronica-ICT 3e academisch bachelorjaar Objectgericht ontwerpen Deel I Academiejaar 2009-10
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Programmeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Tentamen Imperatief Programmeren
Tentamen Imperatief Programmeren Maandag 22 oktober 2001 Toelichting Dit is een open boek tentamen, d.w.z. het cursusboek mag gebruikt worden. N.B.: Het tentamen is individueel: voor het maken van de opgaven
Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele
Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd
Zelftest Programmeren in Java
Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Java spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld
Java spiekbrief Commentaar Dient enkel voor de menselijke lezer. // tot het einde van de lijn /* Dit type commentaar kan gerust meerdere lijnen beslaan. */ /** En deze speciale vorm wordt gebruikt voor
Java spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld
Java spiekbrief Commentaar Dient enkel voor de menselijke lezer. // tot het einde van de lijn /* Dit type commentaar kan gerust meerdere lijnen beslaan. */ /** En deze speciale vorm wordt gebruikt voor
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 27 november 2015 Recursie Objecten Constructors Aanpassen variabelen this keyword Recursie Recursie Recursieve functie roept zichzelf (direct of indirect) aan
Lessen Java: Reeks pag. 1
Lessen Java: Reeks 2 1-3-2016 pag. 1 Primitieve types type grootte waardes byte 8 bits 128, 127 short 16 bits 32768, 32767 int 32 bits 2 31, 2 31 1 long 64 bits 2 63, 2 63 1 type grootte waardes float
Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing
Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing Introductie In dit document geven we een mogelijke oplossing voor het eerste practicum. Deze oplossing gebruikt verschillende klassen en overerving,
Vakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen [email protected] en [email protected]
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten
public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);
Vaknaam: Programmeren I (Java) - Tentamen Module: 2 Datum/Tijd: 17 mrt 2015 / 18.30 20:30 Richting: ICT Code: IC011 Docent: E. Lieuw Boeken en aantekeningen NIET toegestaan. Kladpapier is wel toegestaan.
Inhoud leereenheid 2. Overerving (1) Introductie 59. Leerkern 60. Samenvatting 88. Zelftoets 90. Terugkoppeling 94
Inhoud leereenheid 2 Overerving (1) Introductie 59 Leerkern 60 1 Specialisatie en generalisatie 60 2 Functionaliteit aan een klasse toevoegen 62 2.1 Toegangsspecificaties 63 2.2 Definitie van subklassen
Scala. Korte introductie. Sylvia Stuurman
Korte introductie Sylvia Stuurman Wat is er zo bijzonder aan? Schaalbaar Objectgeoriënteerd (handiger dan Java!) Functioneel Scripts schrijven Gecompileerd: Java bytecode Pagina 2 voor scripts Pagina 3
SPOJ oplossingen Gilles Callebaut 7 augustus 2015
SPOJ oplossingen 2012-2013 Gilles Callebaut 7 augustus 2015 DISCLAIMER Oefeningen zijn niet altijd correct of optimaal. Gelieve de oefeningen enkel te gebruiken ter ondersteuning. Van kopiëren leer je
Om de libraries te kunnen gebruiken, moet de programmeur (een deel van) zijn programma in C/C++ schrijven.
1 Inleiding tot.net Software werd en wordt meestal geschreven in C of C++. De broncode van een C/C++ programma wordt dan gecompileerd naar machine code, die eventueel nog gelinkt wordt met machine code
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
HOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10
CPP 1 van 10 ADSdt 1-2009 TENTAMENVOORBLAD Voor aanvang van het tentamen s.v.p. de tentamengegevens goed doorlezen om eventuele misverstanden te voorkomen!! Naam student : Studentnummer : Groep : Studieonderdeel
Kleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
Game of Life in Java
Game of Life in Java Auteur: drs. M.S.L.F. Manssen http://www.manssen.eu Game of Life is een spel van een rooster van cellen, waarbij telkens een ronde gebeurt waarbij de nieuwe waardes van cellen gebeurt.
Ontwerp van Informatiesystemen
1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 25 november 2015 Herhaling Meer herhaling Recursie Mutuele recursie Objecten Herhaling Fibonacci class Fibonacci { public static void fibonaccitot(int bovengrens)
Objectgeoriënteerd programmeren in Java 1
Objectgeoriënteerd programmeren in Java 1 CPP Javaprogrammeur Bijeenkomst 3 Leereenheden 7, 8, 9 De Java API Java bevat een grote bibliotheek standaardklassen: de Java API Voorbeelden java.lang basisklassen
voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is
PROEF-Tentamen Inleiding programmeren (IN1608WI), X januari 2010, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Open boek tentamen: bij het tentamen mag alleen gebruik worden gemaakt
Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2015. Parallel Systems: Introduction
Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2015 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Modulewijzer Tirdat01
Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1 Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4
http://www.liacs.nl/home/kosters/java/
sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft
I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Programmeren 1 23 januari 2013 Prof. T. Schrijvers
Programmeren 1 23 januari 2013 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet
Design patterns.
Design patterns [email protected] Wat zijn dat? Programma zit niet goed in elkaar Zondigt tegen ontwerpprincipes En dat zorgt voor probleem Ontwerppatroon: standaard oplossing voor een
Voorbeeld: Simulatie van bewegende deeltjes
Voorbeeld: Simulatie van bewegende deeltjes Simulatie - object Ruimte - objecten Deeltje - objecten Button - objecten Simulatie Samenhang van objecten sim geërfd van Form stap zelf gedeclareerd auto r1
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal
Programmeren in Java 3
2 september 2007 voor deeltijdstudenten Kop van Zuid Rotterdam, 3 juni 2007 Even voorstellen Naam: Wessel Oele(31) Docent bij opleiding technische informatica Kamer: I210 (tweede verdieping, links de gang
Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld
Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek
NAAM: Programmeren 1 Examen 21/01/2011
Programmeren 1 21 januari 2011 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet
Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur
Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf
Programmeren in C# Overerving
Programmeren in C# Overerving Programmeren in C# 2 public class Balloon private int x = 50; private int y = 50; private int diameter = 20; public int Diameter getreturn diameter; setif (value
Info-books. Toegepaste Informatica. Deel 37: Programmeren in Java HO37. K. Behiels - J. Gils
Info-books HO37 Toegepaste Informatica Deel 37: Programmeren in Java K. Behiels - J. Gils Hoofdstuk 3 Klassen 3.1 Klassen, variabelen en methoden 3.1.1 Wat is een klasse? Een struct van ANSI C is een goede
Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur
Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:
Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de
OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Wat is het probleem nou eigenlijk? public class CoffeeDrinker { private CoffeeProducer mycoffeeproducer;
OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Object georiënteerde (OO) systemen kennen vele voordelen ten opzichte van traditionele procedurele systemen. Zo zouden OO systemen flexibeler en beter onderhoudbaar
colleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser
colleges recursieve datastructuren college 9 interpreteren: waarde van bomen bepalen transformeren: vorm van bomen veranderen parseren herkennen van expressie in de tekst herkennen van functies onderwerp
Java Programma structuur
Java Programma structuur public class Bla // div. statements public static void main(string argv[]) // meer spul Voortgezet Prog. voor KI, week 4:11 november 2002 1 Lijsten Voorbeelden 2, 3, 5, 7, 13 Jan,
Versie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A
Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 1 februari 2019, 11.00 13.00 uur Voor de meerkeuzevragen hebben we verschillende versies. Dit zijn de juiste antwoorden per versie.
1 Ontwerppatronen. 1.1 Het Command patroon
1 Ontwerppatronen Software-ontwikkelaars worden geconfronteerd met ontwerpproblemen: de manier waarop ze hun programma gestructureerd hebben geeft aanleiding tot slechte eigenschappen zoals rigiteit, fragiliteit,....
Java. Basissyllabus. Egon Pas
Java Basissyllabus Egon Pas 2011 BeanPole bvba Gasmeterlaan 92-9000 Gent BTW BE 472.902.516 Tel: + 32 9 224 42 17 Fax: + 32 9 223 62 88 www.beanpole.be [email protected] 1 Programmeren 1.1 Hoe werkt een
Objectgeoriënteerd Programmeren: WPO 2a
Objectgeoriënteerd Programmeren: WPO 2a 1. Inhoud Eenvoudige (enkelvoudige) overerving, override, ToString(), base, private, public, protected, virtual 2. Inleiding 2.1 Overerving In het voorgaande WPO
Javascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Design patterns Startbijeenkomst
Design patterns Startbijeenkomst Harrie Passier Docenten Sylvia Stuurman (1 e examinator) [email protected] Harrie Passier (2 e examinator) [email protected] Aarzel niet vragen te stellen! Rooster
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2013 Organisatie Docenten Jeroen Bransen Michael Moortgat Docenten Jeroen Bransen Imperatief programmeren (Java) Tot de kerst (ongeveer) Michael Moortgat
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Tentamen in2705 Software Engineering
Tentamen in2705 Software Engineering Voorbeeld (bijna tweemaal te groot) U mag meenemen naar dit tentamen: Lethbridge, afdrukken PPT slides, afdrukken handouts. 1. De TU wil een nieuw systeem ontwikkelen
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een
Programmeren (1) Examen NAAM:
Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft
Programmeren in C# Interfaces. Hoofdstuk 23
Programmeren in C# Interfaces Hoofdstuk 23 Programmeren in C# 2 Gradaties overerving Klassieke overerving Iets functioneels uitbreiden Code duplicatie Niet teveel aanpassingen aan bestaande code Objecten
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)
TENTAMEN Programmeren 1 VOORBEELDUITWERKING
TENTAMEN Programmeren 1 vakcode: 213500 datum: 10 juli 2004 tijd: 9:00-12:30 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding
Informatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016
Informatie over 5VWO DT51: JavaLogo Casper Bezemer Toetsweek 1 13 oktober 2016 1 Informatie Voor toets DT51 wordt jou gevraagd Java(Logo) programma s te schrijven. De eerste opdracht is een Krimpfiguur,
Een fragment wordt afgeleid van de basis klasse "Fragment".
Android fragmenten 1/5 Fragmenten Klasse Een fragment wordt afgeleid van de basis klasse "Fragment". package com.android.cursustekst; import java.text.simpledateformat; import java.util.arraylist; import
import java.io.*; één klasse public class Hallo { public static void main (String[] a) ...met één functie System.out.println("Hallo!
Voorbeeld Java-programma import java.io.*; één klasse...met één functie...met één opdracht public class Hallo { public static void main (String[] a) { System.out.println("Hallo!"); accolades begrenzen
Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst
s Informatica Hoofdstuk 1 Object Klasse Methode Parameters Type Velden Toestand Compiler Resultaten (returnwaarde) In java fungeren objecten als een model voor de elementen waarin een probleem kan worden
Programmeren I. 26 augustus Algemene Richtlijnen. Richtlijnen Programmeren 1
Algemene Richtlijnen Programmeren I 26 augustus 2015 Schrijf je naam bovenaan elk antwoordblad en kladblad. Schrijf niet met potlood of in het rood op je antwoordbladen. Gebruik voor elke vraag een afzonderlijk
Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.
Inhoud leereenheid 7c JavaScript: Objecten en functies Introductie 59 Leerkern 60 1 Functies 60 1.1 Syntax - samenvatting 60 1.2 Functies definiëren 61 1.3 Functie als parameter (facultatief) 64 1.4 Functie
SYNTRA-WEST. Cursus OOP. Deel
SYNTRA-WEST Cursus OOP Deel Syntra-West voorheen VORMINGSINSTITUUT VOOR KMO Syntra-West Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST... 0 CURSUS OOP...
NAAM: Programmeren 1 Examen 29/08/2012
Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 16 december 2015 Tentamen Case study: Automatische taalherkenning Modelleren Specificeren Implementeren Modelleren Implementeren Tentamen Tentamen Vrijdag 22 januari
Datastructuren en algoritmen
Datastructuren en algoritmen Doelstelling Datastructures + algorithms = programs Boek van Niklaus Wirth: bedenker Pascal en Modula Datastructuur: structuur om informatie op te slaan Algoritme: voorschrift
Modulewijzer tirprog02/infprg01, programmeren in Java 2
Modulewijzer tirprog02/infprg01, programmeren in Java 2 W. Oele 17 november 2009 1 Inhoudsopgave 1 Inleiding 3 2 Studiehouding 3 3 Voorkennis 4 4 Inhoud van deze module 5 5 Leermiddelen 5 6 Theorie en
APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts
APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,
Syntax van opdracht. opdracht. expressie. variabele. = expressie ; klasse naam. methode naam. property naam += object
Syntax van opdracht opdracht klasse naam methode naam ( expressie ) ; object expressie. property naam +=, variabele = expressie ; Static gewone methoden Bewerken een object Aanroep: object. methode ( )
