‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.

Slides:



Advertisements
Verwante presentaties
Programmeren in Java met BlueJ
Advertisements

Hoofdstuk 1 Programmeren.
Van domeinklasse tot implementatie
JAVA1 H 1. KENNISMAKING MET JAVA EN DE ONTWIKKELOMGEVINGEN 1. ONTSTAANSGESCHIEDENIS VAN JAVA Java: ontworpen in 1990 door Sun Microsystems voor de programmering.
Het ontwerpen van een klasse
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
Het type int Tekenen met Java operatoren
Klassen en objecten.
Inleiding Informatica
Hoofdstuk 4: Klassen definiëren
Hoofdstuk 1 Programmeren.
Hoofdstuk 2 Hallo, C# !.
Verdieping Programmeren in Java - deel 1 college 6 mei 2001.
Inleidend probleem Data structuur (hiërarchie van classes)
Klassen schrijven Hoofdstuk 10. Visual Basic.NET voor studenten2 In dit hoofdstuk … Hoe schrijf je een klasse Constructormethodes Public methoden Variabelen.
Overerving Hoofdstuk 11 Hoofdstuk 11.
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(
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Java en BlueJ Een goed idee?.
Algoritmiek Object-georiënteerd Programmeren
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Accessors en polymorfie zGoede gewoonte voor objectgeoriënteerde programma -> voor alle eigenschappen:
6.1 Inleiding HOOFDSTUK 6 METHODEN
Hoofdstuk 3: Inleiding tot Java Applets
JAVA1 H 1. KENNISMAKING MET JAVA EN DE ONTWIKKELOMGEVINGEN 1. ONTSTAANSGESCHIEDENIS VAN JAVA Java: ontworpen in 1990 door Sun Microsystems voor de programmering.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
P. 1 Vakgroep Informatietechnologie Structuur Deel II C++ Classes Namespaces Type casting Reference types Constructors en Destructors Memory Management.
C/S varianten s /CSpaginas/
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.
Arrays.
OOS Object geOrienteerd Software-ontwerp - 2
Herhaling Java-programmatie en geautomatiseerd testen (vervolg)
Visual Basic 2005/2008 OOP in praktijk André Obelink - MCSD, MVP Web: Web: -
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
Objectgeoriënteerd Ontwerp
Polymorfisme: inleiding Hello me, meet the real me…
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,
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.
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.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
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.
OOP en.NET. Objecten Is geen ‘nieuw’ mysterieus woord Overal om ons heen zien we objecten: – TV – Computer – Auto – Wasmachine – ….
GEGEVENSSTRUCTUREN IN.NET. Inleiding  Enumerated type  Structure  Collecties  Typed collections  Untyped collections.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
GUI & classes Een Gui in een class steken en het object gebruiken.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Objectgeoriënteerd Programmeren (2)
Objectgeoriënteerd Programmeren
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Overerving
Object georiënteerd programmeren
Gameprogrammeren: Methoden
Gameprogrammeren: Programmastructuur
Gameprogrammeren: Game Basics
Tinpro015b-les4 Klassen.
Gameprogrammeren: Abstracte klassen
Gameprogrammeren: Klassen en objecten
‘Inleiding objectgeoriënteerd programmeren met PHP’ ‘Inleiding’
Arjan Egges & Paul Bergervoet
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries

Programma vandaag s 1e uur: –Bespreking “Basic Concepts Java” s 2e uur: –Bespreking rest hoofdstuk 2 –Bespreking hoofdstuk 3: Applets

‘Basic Concepts Java’ s Hoofdstuk 1 uit Mughal & Rasmussen, studieboek voor Java Certified Programmer: u ‘A Programmers Guide to Java Certification - A Comprehensive Primer’, K.A.Mughal & R.W.Rasmussen, Addison-Wesley, s aanvulling op Deitel & Deitel, hfst 1 en 2

1. Introductie s Basisbegrippen en concepten van OOP: –klasse –object (instantie) –variabele (veld) u primitieve of referentie –methode (operatie, verzoek, boodschap) –‘member’ = methode / variabele wathoe –contract (wat) versus implementatie (hoe)

Introductie - 2 s Heel veel NIET: –library, package –encapsulation, polymorfisme –exception,multi-threading –Java syntax –GUI, etc.

2. Klassen s in OOP worden abstracties gemodelleerd met klassen en objecten s lopend voorbeeld: de klasse en het object ‘stapel’ s contract: wat kan een object s implementatie: hoe wordt het gedaan

Contract voor een ‘stapel’ s 1. stapel instellen s 2. element toevoegen s 3. element weglaten s 4. kijken welke element bovenop ligt s 5. kijken of de stapel vol c.q. leeg is hoe s Vervolgens: hoe implementeer je dit? s [ encapsulation: scheiding wat - hoe ]

Abstracties en klassen - 1 s modelleren van eigenschappen & gedrag van objecten s klassen abstracter dan objecten wat betreft eigenschappen s klasse is categorie of blauwdruk s objecten zijn instanties van klassen

Abstracties en klassen - 2 s eigenschappen & gedrag geïncorporeerd in object s klassen bezitten zelf eventueel ook eigenschappen & gedrag s notatie in UML

UML notatie voor klassen

Java voorbeeld code

3. Objecten objectreferentie s object manipulatie dmv objectreferentie declaratie s stap 1: declaratie van de referentie CharStack stapel1, stapel2; object creatie s stap 2: object creatie, te koppelen aan de referentie stapel1 = new CharStack(10); stapel2 = new CharStack(5);

UML notatie voor objecten

Referenties s meestal 1 object referentie voldoende aliases s meer referenties: aliases assignment s toekennen van extra referentie via assignment stapel2 = stapel1; s garbage collection s garbage collection: geheugen vrij maken van object zonder referenties

Aliases

4. Instance members s member: variabele - methode s toestand (state): s toestand (state): elk object heeft een set van eigen instantievariabelen die de toestand van het object bepalen s gedrag s gedrag: elk object beschikt over alle methoden van de klasse s Java notatie: binary infix dot operator

Vier verschillende vormen van methoden aanroep

5. Static members s eigenschappen en gedrag specifiek en uitsluitend voor de klasse zelf s modifier: static s voorbeeld: object administratie s voorbeeld: methode main(..) per definitie static s UML notatie

Static Members

Java codering s geen gescheiden notatie s modifier static voor zowel variabelen als methoden s volgorde code conventie? –static variabelen vooraan –static methoden achteraan? –static main(..) wel

Toegang tot statics s op 2 manieren: –met de klassenaam: CharStack.getInstanceCount(); –met referentie van een object: stapel1.getInstanceCount();

definities

6. Overerving s Nieuwe klassen maken –overerving –aggregatie

UML voor overerving

Code fragment extend

Enkelvoudige overerving s slechts 1 superklasse mogelijk s alles wordt doorgegeven behalve private members s [ meervoudige overerving in Java mbv interfaces]

Definitie van een subklasse s uitbreidig en specialisatie van eigenschappen en gedrag s Voorbeeld 1.3 –variabelen protected ipv private –aanroep super in constructor

7. Aggregatie s nieuwe klassen samengesteld op basis van objecten van bestaande s voorbeeld: klasse CharStack maakt gebruik van de klasse Array s géén ‘contain’ relatie

UML notatie voor aggregatie

8. Kernpunten s alles in Java ingepakt in klassen s 2 soorten waarden: primitieven en referenties s referenties verwijzen naar objecten s object manipulatie via referentie s geen ‘contain’ relatie bij aggregatie s object opruiming: GC

9. Java programma’s s Stand-alone programma’s s Applets s [ Servlets ] s [ Java beans ]

10. Voorbeeld van een stand-alone Java programma s Wat zijn de hoofdelementen? s Hoe gaat het compileren en runnen?

Compileren en runnen s broncode met *.java extensie javac s compileren met javac s elke klasse krijgt een *.class bestand met klassenaam java s met interpreter java publieke klasse starten, s main s main methode wordt uitgevoerd

11. Voorbeeld: Java applet s Wat zijn de hoofdelementen ? s Hoe gaat het compileren en runnen van een applet ?

hoofdelementen s extend Applet s geen automatische uitvoering van main(..) maar init(..) en paint(..) s Graphics object tekent in het venster van de browser of appletviewer

compileren en runnen s compileren hetzelfde als gewone applikatie s runnen in browser via HTML pagina of via appletviewer s [ applets hebben beperkte mogelijkheden ivm beveiliging ] s voorbeeld in JBuilder

JBuilder bestanden vb 1.5

HTML code

Met de appletviewer