Algoritmiek Object-georiënteerd Programmeren

Slides:



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

OOS Object geOrienteerd Software-ontwerp - 3
Instructie Programmeren Task 8 5JJ70. PAGE 2 Task 8: Double Linked List Het doel van deze opdracht is: Het opbouwen van een tweetal klassen, die samen.
Van domeinklasse tot implementatie
Het ontwerpen van een klasse
Het type int Tekenen met Java operatoren
Klassen en objecten.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 5.

Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Hoofdstuk 5: Bestanden.
Inleiding Informatica
Hoofdstuk 6: Controle structuren
Hoofdstuk 4: Klassen definiëren
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 10: Omgaan met problemen.
Hoofdstuk 2 Hallo, C# !.
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.
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Inleidend probleem Data structuur (hiërarchie van classes)
Numerieke Natuurkunde
1 Inleiding Programmeren in Java Ma 29 januari 2001.
Hoofdstuk 8 Objecten en klassen.
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
CONTROLESTRUCTUREN (DEEL 1)
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.
Consoletoepassing Variabelen Klassen
Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept L.M. Bosveld-de Smet.
Algoritmiek Dataweergave en bewerking Hoorcollege 2 - Ma. 11 sept 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.
6.1 Inleiding HOOFDSTUK 6 METHODEN
P. 1 Vakgroep Informatietechnologie Structuur Deel II C++ Classes Namespaces Type casting Reference types Constructors en Destructors Memory Management.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Herhaling Java-programmatie en geautomatiseerd testen (vervolg)
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
Bits & bytes.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
JAVA: een platformonafhankelijke taal
Polymorphisme en Interfaces: inleiding
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.
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Loops en errors Array's Random try catch for loop while loop do while loop.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
Objectgeoriënteerd Programmeren (2)
Objectgeoriënteerd Programmeren
Gameprogrammeren: Objecten en geheugen
Hoofdstuk 9.2 Strings.
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
C++ • C++ als een verbetering van C • Abstracte datatypen met classes • Constructoren en destructoren • Subklassen • binding van functies 1.
Tinpro015b-les6 Templates.
Tinpro015b-les4 Klassen.
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Gameprogrammeren: Arrays
Transcript van de presentatie:

Algoritmiek Object-georiënteerd Programmeren Klassen en objecten; constructoren en methoden; integers: notaties. Hoorcollege 3 - Ma. 18 sept. 2006 L.M. Bosveld-de Smet

Te behandelen onderwerpen Object-georiënteerd Programmeren Klassen en Objecten Constructoren en Methoden Integers Rekenen met Two’s Complement Notation Excess Notation Floating-point Notation (week 4)

Wat is een object?

Beschrijving kenmerken blikje Drank: pepsi Hoeveelheid: 250 ml Temperatuur: 6 0C …

Wat kun je ermee?

Wat kun je ermee?

Beschrijving operaties uitvoerbaar door of op blikje Openen Leegdrinken Leeggieten Koelen Weggooien Ontploffen …

Beschrijving van alle blikjes i.h.a Algemene kenmerken en operaties Klasse Instantievariabelen Instantiemethoden

Klasse en object

Voorbeeld Telonderzoek in diverse wijken van een stad Consumentenonderzoek in winkels Verkeersonderzoek

Java: klasse Teller class Teller { . }

Tellerstructuur: toestand en gedrag class Teller { int aantal; void verhoog () { … } void zetTerug () { int geefWaarde () { Instance variable Beschrijving van het gegeven dat elk object met deze structuur bevat Methods Beschrijving van het gedrag dat elk object met deze structuur heeft

Objecten van type Teller Teller teller1, teller2; int i, j; double k; char c; data type + lijst variabelen door Java al gedefinieerde datatypen Primitieve datatypen

Declaratie en initialisatie primitieve variabelen int i ; i i i = 0 ;

Specifieke methoden: constructoren class Teller { int aantal; Teller () { aantal = 0; } Teller (int beginWaarde) { aantal = beginWaarde; void verhoog () { … void zetTerug () { int geefWaarde () { Specifieke methoden: constructoren

Declaratie en initialisatie objectvariabelen: 2 staps Teller teller1; teller1 ??? teller1 = new Teller () ; aantal Tellerobject

Declaratie en initialisatie objectvariabelen: shortcut Teller teller1 = new Teller () ; Tellerobject teller1 aantal

objectvariabelen: NULL waarde teller1 = null ; Tellerobject teller1 aantal

Teller teller2 = new Teller (100) ; Nog een teller Teller teller2 = new Teller (100) ; Tellerobject teller2 100 aantal

Let op toekenningen!!! teller1 teller2 100 teller1 = teller2 ;

Verdere kenmerken van OOP Inheritance = overerving Polymorphism = veelvormigheid Encapsulation = inkapseling

Inkapseling class Teller { private int aantal; public Teller () { } public Teller (int beginWaarde) { aantal = beginWaarde; public void verhoog () { … public void zetTerug () { public int geefWaarde () { niet bereikbaar vanuit andere programma-eenheden wel bereikbaar vanuit andere programma-eenheden

Klasse Teller: definitie class Teller { private int aantal; public Teller () { aantal = 0; } public Teller (int beginWaarde) { aantal = beginWaarde; public void verhoog () { aantal = aantal + 1; public void zetTerug () { public int geefWaarde () { return aantal;

Meerdere klassen class Teller { private int aantal; public Teller () { } public Teller (int beginWaarde) { aantal = beginWaarde; public void verhoog () { aantal = aantal + 1; public void zetTerug () { public int geefWaarde () { return aantal; class TellerStanden { public static void main (String[] args) { //creëer 2 tellers Teller t1 = new Teller (); Teller t2 = new Teller (25); //print de tellerstanden System.out.println (t1.geefWaarde ()); System.out.println (t2.geefWaarde ()); //reset t2 t2.zetTerug (); //verhoog t1 drie keer, t2 twee keer t1.verhoog (); t2.verhoog (); }

Datatypen int double, float boolean char - 2.147.483.648 …. 2.147.483.647 double, float getallen met komma: ‘floating point notatie’, bijv. 560e-1 boolean true, false char ‘a’, ‘A’, ‘8’, ‘%’, ‘ ’

Voorbeelden int i = 2; j = 4; double k = 1.0; i = i * j; i = k / 2; k = i / 4; i =+ 2;

Binaire optelling 00111010 + 00011011 01010101

Binaire breuken 101.101 1 x 1/8 = 1/8 0 x ¼ = 0 1 x ½ = ½ 1 x 1 = 1 5 5/8

Weergaven van integers Two’s complement notatie Excess notatie

Two’s complement notatie bitpatroon 011 010 001 000 111 110 101 100 sign bit weergegeven waarde 3 2 1 -1 -2 -3 -4

Excess four notatie bitpatroon weergegeven waarde 111 3 110 2 101 1 100 011 010 001 000 sign bit weergegeven waarde 3 2 1 -1 -2 -3 -4