Inleiding Informatica

Slides:



Advertisements
Verwante presentaties
KWALITEITSZORG november 2012
Advertisements

De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
‘SMS’ Studeren met Succes deel 1
Wat was toen het grootste het grootste probleem van de van de FOD?
Presentatie cliëntenonderzoek. Algemeen Gehouden in december 2013 (doorlopend tot eind januari) DoelgroepVerzondenOntvangen% LG wonen en dagbesteding.
Werkwoorden d t dt.
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
1 Resultaten marktonderzoek RPM Zeist, 16 januari 2002 Door: Olga van Veenendaal, medew. Rothkrans Projectmanagement.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
1 - RA patiënten – Februari 2009 REUMATOÏDE ARTRITIS KENNIS – OPVOLGING – PERSOONLIJKE EVALUATIE Patiëntenonderzoek Initiatief van met de steun van nv.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
STAPPENPLAN GRAMMATICUS.
Hoofdstuk 8: Recursie.
Ronde (Sport & Spel) Quiz Night !
Practica Computerlinguistiek Tekst en uitleg:
INITIATIE DEFINITIESELECTIECONCIPIËREN INBEDDING IN ORGANISATIE ONDERHOUD Opdrachtgever/ Projectleider Eigenaar Architect en zijn team Stakeholders INITIATIEDEFINITIESELECTIECONCIPIËRENINBEDDINGONDERHOUD.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Het ontwerpen van een klasse
Het type int Tekenen met Java operatoren
Nooit meer onnodig groen? Luuk Misdom, IT&T
Hoofdstuk 5: Bestanden.
Hoofdstuk 6: Controle structuren
Hoofdstuk 4: Klassen definiëren
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 10: Omgaan met problemen.
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
Lineaire functies Lineaire functie
Regelmaat in getallen … … …
Regelmaat in getallen (1).
1 het type x² = getal 2 ontbinden in factoren 3 de abc-formule
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
1 WIJZIGINGEN UNIEK VERSLAG. 2 Agenda Verbeteringen Veranderingen formulieren Praktische herinneringen Nieuwe formulieren Sociale en culturele participatie.
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Seminarie 1: Pythagoreïsche drietallen
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
Algoritmiek Object-georiënteerd Programmeren
Help! ‘Niet vorderende ontsluiting’
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.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
EFS Seminar Discriminatie van pensioen- en beleggingsfondsen
Hoe gaat dit spel te werk?! Klik op het antwoord dat juist is. Klik op de pijl om door te gaan!
Eerst even wat uitleg. Klik op het juiste antwoord als je het weet.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens.
STIMULANS KWALITEITSZORG juni 2014.
Hoe en waar wordt de keuze voor de nieuwe auto bepaald? AutoRai 2005 Amsterdam, 10 februari 2005 Anne Hoff Research Director Interview-NSS.
Centrummaten en Boxplot
Waar gaat het nou toch om?!
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
DIGITAL ANALYTICS TOOLS. 2 DIGITALE MEDIA - METEN.
Openbaar je talent Service public, talent particulier.
Hoofdstuk 6 – Objectgeoriënteerd Programmeren: Overerving
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
tircms02-p les 1 Operating Systems practicum
JAVA: een platformonafhankelijke taal
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Variabelen. Wat zijn variabelen? In een programmeertaal zijn er “dingen” nodig die ervoor zorgen dat het programma informatie voor korte of langere tijd.
Hoofdstuk 9.2 Strings.
Transcript van de presentatie:

Inleiding Informatica Prof. Dr. Olga De Troyer

Hoofdstuk I: Kennismaking met Java

Computer Snelle “reken” machine Voert enkel “reken”opdrachten uit “Alles” wordt (uiteindelijk) herleid tot getallen (0 en 1)

Programma Tekst die een computer een taak laat uitvoeren De tekst is een reeks opdrachten na elkaar, code genoemd Geschreven in een speciale taal, een programmeertaal

Doel van de cursus Aanleren van het lezen en schrijven van programma’s in de programmeertaal Java Java is een recente object georiënteerde programmeertaal

Basiselementen van Java Objecten Zijn weerspiegelingen van “dingen” uit de werkelijkheid

Objecten mijn_auto object Jan’s_fiets abstractie Modellen Werkelijkheid

Objecten Model Object abstractie Toestand Kleur: blauw Merk: Opel Nummerplaat:ARJ775 Attributen Gedrag Rijden Remmen Toeteren Methoden

Objecten communiceren Berichten Hallo, ik ben mr. Peters van de boekhouding. En u ben? Aangenaan, ik ben mevr Segers

Berichten sturen om taken uit te voeren Graag, lunch voor 3 personen

Een bericht activeert de overeenkomstige methode Object … Remmen Gedrag Rijden Remmen Toeteren

Een Object Georiënteerd programma Een programma is een opeenvolging opdrachten/instructies Een OO programma is een opeenvolging van berichten

Klassen Klasse Auto Toestand Kleur Merk Nummerplaat Gedrag Rijden Remmen Toeteren Gelijksoortige objecten met hetzelfde gedrag en gelijksoortige attributen worden gedefinieerd door een klasse

Instanties van een klasse Klasse Auto Toestand Kleur Merk Nummerplaat Gedrag Rijden Remmen Toeteren Klasse Instanties Object Toestand Kleur: blauw Merk: Opel Nummerplaat: ARJ775 Gedrag Rijden Remmen Toeteren Kleur: rood Merk: VW Nummerplaat: BXR824 Kleur: zwart Merk: Ford Nummerplaat: CVX779

Refereren naar objecten Referenties naar objecten Jan’sAuto MijnAuto Object Toestand Kleur: rood Merk: VW Nummerplaat: BXR824 Gedrag Rijden Remmen Toeteren Object Toestand Kleur: blauw Merk: Opel Nummerplaat: ARJ775 Gedrag Rijden Remmen Toeteren Opa’sAuto Object Toestand Kleur: zwart Merk: Ford Nummerplaat: CVX779 Gedrag Rijden Remmen Toeteren Laat toe om het object te identificeren: MijnAuto.Toeteren Opa’sAuto.Remmen

Berichten met argumenten Voorbeeld: MijnAuto.Rijden Maar hoe hard rijden? Argumenten voor berichten: MijnAuto.Rijden(90) Dus ook voor de corresponderen methode Klasse Auto Toestand Kleur Merk Nummerplaat Gedrag Rijden(snelheid) Remmen Toeteren

Vooraf gedefinieerde klassen en objecten De meest gebruikelijke klassen en objecten zijn reeds vooraf gedefinieerd in Java. Deze kunnen eenvoudigweg gebruikt worden.

Een voorbeeld Via Java willen we “Welkom iedereen” op de monitor van de computer laten verschijnen. Boodschap naar object “System.out” Referentie naar een voor gedefinieerd object van de voorgedefinieerde klasse “PrintStream” System.out .println(“Welkom iedereen”) Refereert naar het scherm

Java Statements Een boodschap naar een object sturen is een actie. De computer voert de acties uit wanneer het programma uitgevoerd wordt In Java noemt men acties “statements” Statements eindigen met een “;” System.out.println(“Welkom iedereen”);

Een Java programma Een opeenvolging van statements System.out.println(“Dit is mijn eerste Java programma”); System.out.println(“maar niet mijn laatste.”);

Een Java programma (2) Elke programma heeft een naam nodig en bijkomende informatie import java.io.*; class Programma1 { public static void main(String[] arg) { System.out.println(“Dit is mijn eerste Java programma”); System.out.println(“maar niet mijn laatste.”); }

Syntax regels Regels die zeggen wat mag en niet mag in een Java programma Vergelijkbaar met de grammatica regels van Nederlands, Engels, ...

Identifiers Elke klasse moet een naam hebben; namen worden ook wel identifiers genoemd Bvb: Programma1, PrintStream Hoofdletters en kleine letters zijn verschillend Bvb: System en system

Sleutelwoorden Woorden met een speciale vast gelegde betekenis noemt men sleutelwoorden (keyword) Bvb: import, class, public, static, void Tegen-vb: PrintStream

Regel: Twee opeenvolgende identifiers of sleutelwoorden zijn gescheiden door minstens één blanko. classProgramma1 Goed: class Programma1

De volgorde van de statements Statements worden uitgevoerd in volgorde van voorkomen. System.out.println(“Een Twee”); System.out.println(“Drie Vier.”); Resultaat is verschillend van

Leesbare programma’s Advies Zet elk statement op een aparte lijn Indien te lang, breek op en spring in vanaf de 2de lijn Gebruik TAB om in te springen, geen spaties

import java.io.*; class Programma1 {public static void main(String[] arg) { System.out.println(“Dit is mijn eerste Java programma”); System.out.println(“dit een een nieuwe lijn.”) } } import java.io.*; class Programma1 { public static void main(String[] arg) { System.out.println(“Dit is mijn eerste Java programma”); System.out.println (“dit een een zeeeeeeeeeeeeeeeeeeer lange lijn”); }

Commentaar Tekst in het programma om het programma (of delen ervan) te verklaren Wordt door de computer genegeerd /* dit is commentaar en mag over verschillende lijnen lopen */ // duidt aan dat de rest van de lijn commentaar is

import java.io.*; /* * Programma1 schrijft mijn naam en e-mail op het scherm */ class Programma1 { public static void main(String[] arg) { System.out.println(“Prof. Dr. Olga De Troyer”); // mijn naam System.out.println(“e-mail: Olga.DeTroyer@vub.ac.be”); // mijn e-mail }

Hoe een programma laten uitvoeren? 1. Programma invoeren in de computer 2. Programma vertalen naar een vorm die de computer kan uitvoeren 3. Instructie geven aan de computer om het programma uit te voeren

Stap 1: Programma invoeren Door middel van een bestand (file) Bestand Collectie van informatie Heeft een naam Kan opgeslagen worden op de harde schijf van de computer Bepaalde software laat toe om bestanden aan te maken, bvb: tekst-processors Bestanden voor programma’s worden aangemaakt door editors.

Editor Vergelijkbaar met een tekst processor Laat toe om tekst in te voeren Laat toe om de tekst te bewaren in een bestand Kent geen tekst formattering zoals tekst processor Bestand met programma Output Editor

Java programma bestanden Regel: Naam van bestand van een programma is naam-programma.java Bvb: Programma1.java

Stap 2: Programma vertalen Computer kan alleen primitieve instructies uitvoeren, instructies uit de machinetaal Machinetaal afhankelijk van soort computer Dus vertaalslag nodig van Java naar machinetaal

Vertalen van programma’s Compiler vertaalt programma naar machinetaal instructies (machine code) Programma Input Machine Code Output Compiler

Vertalen van programma’s (2) Interpreter Voert de programma instructies uit door middel van machinetaal instructies Programma Input Interpreter Output “De programma uitvoer” Vb. Hallo iedereen

Vertalen van Java programma’s Combinatie van compiler en interpreter Java compiler vertaalt Java programma niet naar machinetaal maar naar een “neutrale” soort van machinetaal, Java byte code genoemd Java Compiler Java bytecode bestand Java Programma bestand

Stap 3: Vertaling uitvoeren Java byte code kan niet direct uitgevoerd worden Interpreter nodig Java bytecode bestand Java byte code Interpreter “De programma uitvoer” Vb. Hallo iedereen

Dus alles samen Java Editor X.java Java Compiler X.class Het programma compileren Het programma invoeren Java Bestand X.java Java Editor Java Compiler Java bytecode Bestand X.class Het programma uitvoeren Java byte code Interpreter “De programma uitvoer”

Voordelen Java byte code is niet machine afhankelijk Dus compiler niet machine afhankelijk Java byte code interpreters eenvoudiger dan Java interpreters

Hoofdstuk 2: Objecten nader bekeken

Referenties en objecten Referentie naar een object Object Object Toestand Kleur: blauw Merk: Opel Nummerplaat: ARJ775 Gedrag Rijden Remmen Toeteren MijnAuto “Het object MijnAuto” is eigenlijk een afkorting van “het object waarnaar MijnAuto refereert”

Identifiers Naam van een klasse start met een hoofdletter, bvb. PrintStream Naam van methode start met kleine letter, bvb. println Alle andere letters zijn kleine letters, behalve indien naam bestaat uit meerdere woorden, bvb. printStream

Formaat van methoden methodenaam(argument-1, argument-2, ...) println(“Java”) methodenaam argument

Methode print Methode print voor de klasse PrintStream Geen nieuwe lijn na afdrukken van het argument: System.out.print(“Ja”) System.out.print(“va”)

Strings Een string is een opeenvolging van karakters (letters, cijfers, leestekens, …) Bvb. “Welkom iedereen” In Java wordt de string zelf gebruikt om naar een string object te refereren. Dit zijn String Constanten “hello” Object: instance van de klasse String

De klasse String Methoden van String Wijzigen de ontvanger (object) niet Geven steeds een referentie naar een nieuw String object terug Bvb: toUpperCase() Geen argumenten Bvb: “ibm”.toUpperCase() ; “IBM” reference naar nieuw String object System.out.println(“ibm”.toUpperCase());

Signatuur en prototype Signatuur van een methode Naam methode en beschrijving van de argumenten vb: klasse PrintStream methode println argumenten: referentie naar String object

Signatuur en prototype (2) Prototype van een methode Signatuur en beschrijving van de “return” waarde vb1: klasse PrintStream methode println argumenten: referentie naar String object return waarde: geen vb2: klasse String methode toUpperCase argumenten: geen return waarde: referentie naar String object

Variabelen Een variabele Heeft een naam (identifier) Bvb x, lijn, mijnVariabele Kan een waarde hebben Bvb x heeft de waarde 5 Waarde kan wijzigen Grafische voorstelling Naam van de variabele x 5 Inhoud (of waarde) van de variabele

Variabelen (2) De waarde van een variabele kan men opvragen Door middel van de naam van de variabele x 5 … x ... geeft waarde van x, namelijk 5

Variabelen (3) Bij uitvoering beschikt het programma over een stuk van het computer geheugen Een variabele is een stukje van dit computer geheugen x Kan men het gebruiken om “iets te bewaren” Vb (tussen)resultaat van een berekening Waarden opgeslagen via variabelen verdwijnen wanneer de uitvoering van het programma stopt.

Referentie Variabelen Een referentie variabele Is een variabele De waarde is een referentie naar een object Laat toe om referenties naar objecten te bewaren voor later gebruik Inhoud (of waarde) van de variabele Naam van de variabele y

Referentie Variabelen (2) Voorbeeld gebruik referentie variabele Bvb lijn heeft de waarde “youhou youhou youhou” lijn “youhou youhou youhou” Opvragen van de waarde van de referentie variabele Gebruik: System.out.println(lijn); System.out.println(lijn); System.out.println(lijn.toUpperCase());

Declaraties Een declaratie is een statement dat een variabele introduceert in het programma Formaat: type naam-variabele; Voorbeelden: String groeten; int x; naam type groeten naam type x

Assigment (Toekenning) Het toekennen van een waarde aan een variabele Formaat: naam-variabele = waarde ; Vb-en: x = 5 ; x 5 groeten = “Hallo” ; groeten “Hallo”

Assigment (2) Een variabele kan pas worden gebruikt nadat ze werd gedeclareerd Vb1: int x; x = 5 ; System.out.println( x ); x 5 Vb2: String groeten; groeten = “Hallo”; System.out.println( groeten ); groeten “Hallo”

Assignment: regel Type van waarde moet hetzelfde zijn als type van de variabele Type van de variabele String groeten; groeten = “Hallo”; String groeten; groeten = 5 ;

Assignment met waarde toekenning Het toekennen van een waarde aan een variabele tijdens de deklaratie Formaat: type identifier = waarde ; Vb: String groeten = “Hallo”; int x = 5 ;

Meer over variabelen Meerdere variabelen in één declaratie Conventie: type naam-variabele1, naam-variabele2, … ; Vb: String groeten, naam, lijn ; int i, j, k ; Conventie: Variabele namen starten met kleine letter

Meer over variabelen (2) Na declaratie en voor de eerste toekenning is de waarde van een variabele onbepaald int x ; x x = 10; 10 5 x = 5; Een variabele kan op één moment maar één waarde bevatten.

Meer over variabelen (3) Een referentie variabele kan op één moment naar slechts één object refereren. Referentie naar “herfst” is weg! String t ; t String t ; t = “herfst” ; t = “winter” ; t “herfst” “winter” t “herfst” String t ; t = “herfst” ;

Waarde van een variabele wijzigen Waarde wijzigen gebaseerd op de huidige waarde int i ; i = 3; i 3 12 Resultaat (12) toekennen aan i Resultaat berekenen : 3 * 4 = 12 i = i * 4; Waarde opvragen : 3

Null Het sleutelwoord null kan men gebruiken om aan te geven dat een referentie variabele nergens naar refereert t String t ; null t = null ;

Meer over variabelen (3) Verschillende variabelen kunnen dezelfde waarde bevatten. int i, j ; i = 5 ; i j 5 5 j = i ; j wordt hier gebruikt om de variabele j een waarde te geven i wordt hier gebruikt om de waarde van de variabele i op te vragen

Meer over variabelen (4) Verschillende referentie variabelen kunnen naar hetzelfde object verwijzen. t “herfst” String s, t ; t = “herfst” ; s s = t ; s wordt hier gebruikt om de variabele s een waarde te geven t wordt hier gebruikt om de waarde van de variabele t op te vragen

Meer over variabelen (4) (Referentie) variabelen zijn onafhankelijk int i, j; i = 5 ; j = i ; i = 10 ; int i, j; i = 5 ; int i, j; i = 5 ; j = i ; i j 5 5 10 String s, t ; t = “herfst” ; s = t ; t = “winter” ; t “herfst” s “winter” s = t ; String s, t ; t = “herfst” ; t “herfst” s

Meer over statements Volgorde van de statements is belangrijk Cf echte leven Niet: eerst ei in pan en dan pan verwarmen Plaats van declaraties niet belangrijk zolang ze voor het gebruik ervan komen import java.io.*; class Programma2 { public static void main ( String [] arg) { String groeten ; groeten = “groeten” ; String veelGroeten ; veelGroeten = “veel groeten” ; System.out.println( groeten ); System.out.println( veelGroeten ); }

String Methoden - voorbeelden

String Methoden (2) Positie van karakters in een String begint bij 0! h a m b u r g e r 0 1 2 3 4 5 6 7 8 Eerste karakter Positie 0 Vierde karakter Positie 3

String Methoden String s, t, u ; s = “ham”; t = “burger”; u = s.concat( t ); “hamburger”

String Methoden (2) String s, t, u ; s = “hamburger”; 0 1 2 3 4 5 6 7 8 t s “hamburger” u t = s.substring(3) “burger” Positie van begin van rest string “burg” u = s.substring(3 , 7) Laatste positie niet in substring

Overloading Twee verschillende methoden? Dit noemt men “overloading” String s,t,u ; s = “hamburger”; t = s.substring(3); u = s.substring(3, 7); Twee verschillende methoden? Ja! Dezelfde naam Maar verschillende signatuur dus te onderscheiden Dit noemt men “overloading”

Voorbeeld gebruik van strings - 1 Vind het middelste karakter van de string “hottentottententoonstelling” Wat nodig? Variabele voor het woord String woord = “hottentottententoonstelling”; Variabele voor het middelste karakter; kararkter is ook een string String midden ; (later zien we ook karakters)

Hoe het middelste karakter vinden? Middelste karakter op middelste positie Hoe de middelste positie vinden? vb: “nooit” lengte: 5 middelste positie: 2 (opgelet nummering begint bij 0) n o o i t 0 1 2 3 4 Dus middelste positie is lengte gedeeld door 2: woord.length() / 2

Hoe karakter op middelste positie eruit halen? Via substring methode: woord.substring(“middelste positie”, “ 1 + middelste positie”) Of dus: woord.substring(woord.length () / 2, 1 + woord.length () / 2 )

Alles samen import java.io.*; class Programma1 { public static void main(String[] arg) { String woord, midden ; woord = “hottentottententoonstelling” ; midden = woord.substring( woord.length () / 2, 1 +woord.length () /2 ); System.out.println(midden); }

Voorbeeld 2 Gegeven zijn een voornaam en een achternaam. Druk de initialen van deze naam af. Wat nodig? Variabelen voor het voornaam en achternaam String voornaam, achternaam ; Variabele voor de initialen String initialen ;

Hoe initialen vinden? Hoe samenvoegen ? Eerste karakter van elke naam voornaam.substring(0, 1); J a n achternaam.substring(0, 1); P e e t e r s Nog nodig, dus referentie bijhouden door middel van variabelen String eersteInit, tweedeInit; eersteInit = voornaam.substring(0, 1); tweedeInit = achternaam.substring(0, 1); tweedeInit eersteInit “P” “J” Hoe samenvoegen ? Via concat methode initialen = eersteInit.concat(tweedeInit); initialen “JP”

Alles samen import java.io.*; class Programma1 { public static void main(String[] arg) { String voornaam, achternaam, initialen ; voornaam = “Jan” ; achternaam = “Peeters” ; String eersteInit, tweedeInit ; eersteInit = voornaam.substring( 0, 1 ); tweedeInit = achternaam.substring( 0, 1 ); initialen = eersteInit. concat(tweedeInit) ; System.out.println(initialen); }

Cascading Veronderstel in voorbeeld2: voornaam, middelnaam en achternaam Jan Geert Peeters Dan 3 initialen: eersteInit, tweedeInit en derdeInit initialen = eersteInit.concat(tweedeInit); initialen = initialen.concat(derdeInit); “JG” “JGP” Of eersteInit.concat(tweedeInit) initialen = .concat(derdeInit); is een object Dus we kunnen er een boodschap naar sturen

Compositie Nog anders: Of initialen = tweedeInit.concat(derdeInit); initialen = eersteInit.concat(initialen); “GP” “JGP” Of tweedeInit.concat(derdeInit) initialen = eersteInit.concat( ) is een object Dus we kunnen het gebruiken als argument van een boodschap

Lege string String zonder karakters Lengte van een lege string is 0 “” Lengte van een lege string is 0 Is verschillend van null

Zelf objecten maken Een object is een instantie van een klasse String constanten, System.out zijn voorbeelden van voorgedefinieerde objecten. Een object is een instantie van een klasse Elke klasse heeft een methode om nieuwe instanties te maken Deze methode wordt een constructor genoemd Naam van een constructor is steeds gelijk aan de naam van de klasse bv: klasse Auto è constructor: Auto

Zelf objecten maken (2) Nieuwe instantie van een klasse maken door het sturen van een boodschap naar de klasse Geen object-ontvanger Object-ontvanger vervangen door het sleutelwoord new new Auto() Nieuw object van het type Auto Constructor Een constructor kan argumenten hebben Bv: new Auto (“Ford”)

Zelf objecten maken (3) Referentie naar nieuw object nodig! Auto mijnAuto ; mijnAuto mijnAuto = new Auto() ;