Programmeren in Java 3



Vergelijkbare documenten
Modulewijzer Tirdat01

Programmeren in Java

Programmeren in Java 2

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Programmeren in Java 3

Programmeren in Java 1

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Modulewijzer tirprog03, programmeren in Java 3

Modelleren en Programmeren

Programmeren in Java les 3

Modelleren en Programmeren

Modelleren & Programmeren. Jeroen Fokker

Modelleren en Programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.

Overerving & Polymorfisme

Ontwerp van Informatiesystemen

IMP Uitwerking week 13

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

Modelleren en Programmeren

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, uur

Modelleren en Programmeren

Geavanceerde Programmeertechnologie. Prof. dr. Kris Luyten Jo Vermeulen

Programmeren in C++ (deel 1)

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgericht programmeren 1.

Modelleren en Programmeren

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Zelftest Programmeren in Java

Datastructuren en algoritmen

Programmeren in C# Interfaces. Hoofdstuk 23

HOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10


Design patterns Startbijeenkomst

Abstracte klassen & Interfaces

Java. Basissyllabus. Egon Pas

Inleiding programmeren

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Kwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Windows-applicatie. using System.Windows.Forms; using System.Drawing; class HalloWin1 { static void Main ( )

Scala. Korte introductie. Sylvia Stuurman

eerste voorbeelden in Java

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, uur

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur

programmeren Mobiel Mobilofoon 1960 Apple iphone 2007 met ios Nokia Samsung S met Android Motorola Dyna-Tac 1973

Mobiel programmeren. Jeroen Fokker

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

VI. Klassen en objecten

Programmeren in C# Klassen schrijven

Vakgroep CW KAHO Sint-Lieven

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

Kleine cursus PHP5. Auteur: Raymond Moesker

Een gelinkte lijst in C#

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Ingebouwde klassen & methodes

INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 11 november 2016, uur

Introductie in C++ Jan van Rijn. September 2013

Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst

Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing

Modelleren en Programmeren

Een stoomcursus door Edgar de Graaf, november 2006

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma

Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur

Programmeren met Java

Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur

Syntax van opdracht. opdracht. expressie. variabele. = expressie ; klasse naam. methode naam. property naam += object

Programmeren in C ++ les 4

Datastructuren: stapels, rijen en binaire bomen

Objectgericht programmeren 1.

Hoofdstuk 0. Van Python tot Java.

Lessen Java: Reeks pag. 1

NAAM: Programmeren 1 Examen 21/01/2011

Principles of Object Ooriented design (in Ditch)

OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Wat is het probleem nou eigenlijk? public class CoffeeDrinker { private CoffeeProducer mycoffeeproducer;

Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, uur

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

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Java spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld

Transcriptie:

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 in) Email: W.Oele@hro.nl Website: http://med.hro.nl/oelew

Voorkennis werken met variabelen methodes arrays strings if/else en switch constructies loops public, private en protected

Onderwerpen infprog03dt infprog03dt: objectoriëntatie: pointers classes en objecten interfaces class deriving method overriding abstract classes interfaces polymorphisme

formaliteiten Modulecode: infprog03dt Beheerder: niemand Leermiddelen: boek: Schaum s outlines boek: Introduction to Java programming dictaat Jeroen Fokker (UU) editors zoals Emacs, Jedit, netbeans of andere hersenen en de wil deze te gebruiken houding

Toetsing Toetsing geschiedt middels één programmeeropdracht: persoonlijk maken, samenwerken toegestaan demonstreren en mondeling verdedigen in de les geen deadline, veel later/eerder verdedigen toegestaan niet inleveren per e-mail geen tentamen

Deze les korte introductie in programmeertalen en paradigma s objecten en classes structuur van een class relatie met classes instantiëren/aanmaken structuur van objectgeoriënteerde programma s constructoren

Paradigma s Programmeertalen zijn gebaseerd op een bepaalde gedachte: Imperatieve talen (Fortran, Pascal, C, C++, Java) Functionele talen (Haskell, Prolog, Gopher) Objectgeoriënteerde talen (Smalltalk, Object Pascal, C++, Java)

Imperatieve talen Uit het Latijn: imperare=bevelen Een programma bestaat uit een aantal bevelen/instructies/commando s druk iets af op het scherm lees iets van de gebruiker (invoer) reken iets uit schrijf antwoord naar het het scherm enzovoorts Voorbeelden: Fortran, C, C++, Pascal, Java, Basic, APL, C#, J#, e.v.a. Bij imperatieve programmeertalen vertel je de computer van stap tot stap wat deze moet doen.

Functionele talen Veelal gebaseerd op een bepaalde wetenschappelijke discipline Logica: Prolog Lambda calculus: Haskell Voornamelijk gebruikt in het wetenschappelijk onderzoek

Prolog We vertellen aan de computer: Een weg heeft een begin en een einde Je kunt over een weg rijden en lopen Er ligt een weg tussen: Hogeschool en Eendrachtsplein Eendrachtsplein en centraal station Centraal station en Hofplein We vragen aan de computer of je van de hogeschool naar het Hofplein kunt lopen... Antwoord van de computer: yes! Kun je lopen over het centraal station? Antwoord: no!

Objectgeoriënteerde talen Gedachte: Deel een programma op in losse modules, zgn. objecten Objecten: Functioneren zoveel mogelijk op zichzelf Nemen ieder een klein stukje van de functionaliteit voor hun rekening Vormen in combinatie met elkaar een programma Kunnen hergebruikt worden in andere programma s Voorbeelden: Smalltalk, Object Pascal, C++, Java

Java leren droge conceptuele kennis van de taal is belangrijker dan grafische bling bling geavanceerde ontwikkelomgevingen werken pas indien men het bovenstaande respecteert onderscheidt twee zaken: de regels van de taal de denkwijze van het programma (algoritme) onafhankelijk van de taal vaak uitgedrukt in wiskunde tijdloos

De class vormt een recept voor een object schrijfwijze: public class classnaam { class variabelen constructoren methodes }

Voorbeeld public class vierkant { /********VARIABLES***********/ private int zijde; /********CONSTRUCTORS********/ public vierkant() { zijde=1; } /********METHODS*************/ public void printoppervlakte() { System.out.println("oppervlakte: "+(zijde*zijde)); } }

Classes en objecten De klasse is het recept, de taart(en) het object source public class x {... } geheugen object x 1 object x 2 object x 3

Een object aanmaken Gegeven de klasse vierkant In een (methode van een) andere klasse: vierkant v = new vierkant(); vierkant w = new vierkant(); vierkant x = new vierkant(); In het algemeen: Object x = new Object();

In het geheugen v vierkant object w vierkant object x vierkant object

Voorbeeld public class application { public static void main(string[] args) { int a=5; String naam= Wessel ;... vierkant x=new vierkant();... }

In het geheugen a 5 naam Wessel x vierkant object

Een object vernietigen simpelweg de variabele die naar het object verwijst gelijk maken aan null: x vierkant object x=null; x...

De constructor is een bijzondere methode heeft dezelfde naam als de klasse geeft per definitie niets terug(void) wordt uitgevoerd zodra een object wordt aangemaakt heeft toegang tot alle variabelen in de klasse mag alle methodes van de klasse aanroepen gebruik je om bij het instantiëren: variabelen een waarde te geven dingen te controleren

Voorbeeld public class vierkant { /********VARIABLES***********/ private int zijde; /********CONSTRUCTORS********/ public vierkant() { zijde=1; }... Bij het instantiëren wordt de variabele zijde op 1 gezet.

In het geheugen vierkant x = new vierkant(); x vierkant zijde 1

Constructor overloading Een klasse: kan meerdere constructoren hebben constructoren: kunnen verschillende soorten parameters hebben kunnen verschillende aantallen parameters hebben gebruiken om af te wijken van standaard waarden Bovenstaand concept: heet overloading werkt op dezelfde wijze bij normale methodes

Voorbeeld public class vierkant { /********VARIABLES***********/ private int zijde; /********CONSTRUCTORS********/ public vierkant() { zijde=1; } public vierkant(int van_buiten) { zijde=van_buiten; }

Voorbeeld gebruik public class application { public static void main(string[] args) {... vierkant x=new vierkant();... vierkant y=new vierkant(12); }

In het geheugen vierkant x = new vierkant(); vierkant y = new vierkant(12); x y vierkant zijde 1 vierkant zijde 12

Class vs. local variabelen Class variabelen: bestaan zolang het object bestaat zijn toegankelijk voor alle constructoren zijn toegankelijk voor alle methodes Lokale variabelen: zitten in constructoren of methodes bestaan zolang de methode wordt uitgevoerd worden derhalve vernietigd zodra de methode eindigt

Vragen Mag dit?... vierkant x=new vierkant(); vierkant y=new vierkant(8); vierkant z; z=x; x=y;

Vragen Mag dit?... vierkant x=new vierkant(); vierkant y=new vierkant(8); vierkant z; z=x; x=y; Ja Geheugen?

Structuur van een klasse class declaratie public class Programma { variabelen int x; int y; constructoren public Programma(){...} methodes public void doe_iets(){...} }

Structuur van grotere programma s class a... class b... class c... class d... class e main methode