Klassen. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Ähnliche Dokumente
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 17/18. Klassen. Matthias Dangl

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 18/19. Klassen. Dr. Philipp Wendler

Klassen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Statische Methoden, Vererbung, Benutzereingabe

Statische Methoden, Vererbung, Benutzereingabe

Statische Methoden, Vererbung, Benutzereingabe

Klassen, Vererbung, Benutzereingabe

Klassen, Vererbung, Benutzereingabe

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 5. Objekte und Klassen 1

Arrays von Objekten. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

Kapitel 5: Objekte und Klassen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 17/18. Kapitel 5. Objekte und Klassen 1

Effiziente verkettete Listen

Informatik II - Tutorium 5

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke.

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Informatik I (D-MAVT)

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

6. Globalübung (zu Übungsblatt 8)

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

Teil 2: Weitere Aspekte der Objektorientierung

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Arrays Fortgeschrittene Verwendung

Programmiertechnik Klassenvariablen & Instantiierung

1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen

Parameterübergabemechanismen für den Methodenaufruf

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Effiziente verkettete Listen

Kontrollstrukturen: Wiederholungsanweisungen

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Einführung in die Systemprogrammierung

Repetitorium Informatik (Java)

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Effiziente verkettete Listen

Informatik II Übung 05. Benjamin Hepp 3 April 2017

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Objektorientierung. Marc Satkowski 20. November C# Kurs

Javakurs für Anfänger

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientes Design & Programm

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Grundlagen der Objektorientierten Programmierung - Methoden -

Javakurs für Anfänger

Javakurs für Anfänger

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Übung zur Vorlesung Programmierung

Grunddatentypen, Ausdrücke und Variablen

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Abschnitt 6: Klassen, Objekte und Methoden in Java

Grafische Benutzeroberflächen

Kontrollstrukturen: Wiederholungsanweisungen

Hüllklassen. Gerd Bohlender. 25. Juni Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Philipp Güttler Objektorientierung und komplexe Datentypen

Übung Programmierung WS 2007/08 - Blatt 6

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Beispielprüfung CuP WS 2015/2016

Grafische Benutzeroberflächen

Kapitel 6. Kontrollstrukturen im Kontext von Klassen und Objekten

Kapitel 6. Kontrollstrukturen im Kontext von Klassen und Objekten

C++ Teil 10. Sven Groß. 17. Dez IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Dez / 14

Allgemeine Hinweise:

Java für Bauingenieure

Musterlösung Stand: 5. Februar 2009

Javakurs für Anfänger

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

JAVA - Methoden

Übungen zum Bioinformatik-Tutorium. Blatt 6

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Grunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken

Bachelorprüfung: Objektorientierte Softwareentwicklung

Programmieren Tutorium

Scheinklausur zur Vorlesung Praktische Informatik I. 12. November Punkteübersicht

Fakultät IV Elektrotechnik/Informatik

Vorlesung Objektorientierte Programmierung Klausur

pue13 January 28, 2017

Parallele und funktionale Programmierung Wintersemester 2015/ Übung Abgabe bis , 10:00 Uhr

Ausnahmen. Dr. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Grafische Benutzeroberflächen

Ausnahmen. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Tag 8 Repetitorium Informatik (Java)

Ausnahmen. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Tagesprogramm. Werte und Typen Methoden und Parameter Ergebnisse und Seiteneffekte.

Grunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken

Grunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken

Informatik II Übung 5 Gruppe 3

Analyse der Klasse Konto

Transkript:

Klassen Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12

Klassen s. Objekte Eine Klasse ist eine Schablone/Konstruktionsplan für eine Menge on gleichartigen Gegenständen, Dingen, Konzepten Z.B. Klasse Mensch mit den Eigenschaften Name, Geschlecht, Alter, Größe Z.B. Klasse Zimmer mit den Eigenschaften m 2, Anzahl Fenster, Anzahl Türen Ein Objekt füllt diese Schablone mit bestimmten Werten und ist eine konkrete Ausprägung der Klasse Z.B. Objekt Annabelle om Klassentyp Mensch mit den Eigenschaften Name=Annabelle, Geschlecht=weiblich, Alter=25, Größe=165 Z.B. Objekt Rolf Hennicker om Klassentyp Mensch mit den Eigenschaften Name=Prof. Hennicker, Geschlecht=männlich, Alter=, Größe= Z.B. Objekt Büro om Klassentyp Zimmer mit den Eigenschaften m 2 =15, Anzahl Fenster=3, Anzahl Türen=1 Klassen und Objekte 2

Allgemeiner Aufbau einer Klasse in Jaa (1) public class C { priate type 1 attr 1 ;... priate type n attr n ; Attribute (Eigenschaften) public C(params) {body... Konstruktoren Klassen und Objekte 3

Beispiel: Klasse Mensch (1) public class Mensch { priate String name; priate String geschlecht; priate int alter; priate int groesse; public Mensch(String name0, String geschlecht0, int alter0, int groesse0) { this.name = name0; this.geschlecht = geschlecht0; this.alter = alter0; this.groesse = groesse0; Klassen und Objekte 4

Methoden einer Klasse Ein Klasse legt nicht nur die charakteristische Eigenschaften fest, sondern auch das charakteristische Verhalten. Das charakteristische Verhalten wird durch Methoden beschrieben: Methoden können Auskunft über den aktuellen Zustand eines Objekts geben. Methoden können den aktuellen Zustand eines Objekts erändern. Methoden können möglicherweise den aktuellen Zustand anderer Objekte erändern. Methoden können komplexe Berechnungen anstellen. Klassen und Objekte 5

Methoden Einführung in die Informatik Allgemeiner Aufbau einer Klasse in Jaa (2) public class C { priate type 1 attr 1 ;... priate type n attr n ; Attribute (Eigenschaften) public C(params) {body... Konstruktoren public type 1 /oid methodname 1 (params 1 ) {body 1... public type k /oid methodname k (params k ) {body k Klassen und Objekte 6

Beispiel: Klasse Mensch (2) public class Mensch {... //wie orher public int getgroesse() { return this.groesse; public oid wachsen(int cm) { this.groesse = this.groesse + cm; public boolean istsehrgroß() { return this.groesse >= 190; Klassen und Objekte Gibt Auskunft über den aktuellen Zustand Verändert den aktuellen Zustand Stellt komplexe Berechnungen an 7

Objekterzeugung und -erwendung Einführung in die Informatik Objekte werden meistens in Methoden anderer Klassen erzeugt und benutzt: public class MenschTest { Mensch annabelle = new Mensch( Annabelle, weiblich, 25, 165); int g1 = annabelle.getgroesse(); //ergibt 165 annabelle.wachsen(10); int g2 = annabelle.getgroesse(); //ergibt 175 Klassen und Objekte 8

Beispiel 2: Vertauschen on Zahlen Einführung in die Informatik public oid ertausche(int a, int b) { int tmp = a; a = b; b = tmp; int x = 1, y = 2; x=1, y=2 System.out.println("x=" + x + ", y=" + y);.ertausche(x, y); x=1, y=2 System.out.println("x=" + x + ", y=" + y); Klassen und Objekte 9

Beispiel 2: Speicherentwicklung (1) Einführung in die Informatik public oid ertausche(int a, int b) { int tmp = a; a = b; b = tmp; int x = 1, y = 2;.ertausche(x, y); x=1, y=2 y 2 x 1 Klassen und Objekte 10

Beispiel 2: Speicherentwicklung (2) public oid ertausche(int a, int b) { int tmp = a; a = b; b = tmp; int x = 1, y = 2;.ertausche(x, y); x=1, y=2 Einführung in die Informatik this b 2 a 1 y 2 x 1 Call by Value: Die Werte der aktuellen Parameter werden die Werte der formalen Parameter Klassen und Objekte 11

Beispiel 2: Speicherentwicklung (3) Einführung in die Informatik public oid ertausche(int a, int b) { int tmp = a; a = b; b = tmp; int x = 1, y = 2;.ertausche(x, y); x=1, y=2 tmp 1 this b 2 a 1 y 2 x 1 Klassen und Objekte 12

Beispiel 2: Speicherentwicklung (4) Einführung in die Informatik public oid ertausche(int a, int b) { int tmp = a; a = b; b = tmp; int x = 1, y = 2;.ertausche(x, y); x=1, y=2 tmp 1 this b 2 a 2 y 2 x 1 Klassen und Objekte 13

Beispiel 2: Speicherentwicklung (5) Einführung in die Informatik public oid ertausche(int a, int b) { int tmp = a; a = b; b = tmp; int x = 1, y = 2;.ertausche(x, y); x=1, y=2 tmp 1 this b 1 a 2 y 2 x 1 Klassen und Objekte 14

Beispiel 2: Speicherentwicklung (6) Einführung in die Informatik public oid ertausche(int a, int b) { int tmp = a; a = b; b = tmp; int x = 1, y = 2;.ertausche(x, y); x=1, y=2 y 2 x 1 Klassen und Objekte 15

Beispiel 2 (erbessert): Vertauschen on Zahlen Wir erwenden statt Werten om Grunddatentyp int Objekte einer Klasse IntObjekt. public class IntObjekt { public int wert; public IntObjekt(int wert) { this.wert = wert; Klassen und Objekte 16

Beispiel 2 (erbessert): Vertauschen on Zahlen public oid ertausche(intobjekt a, IntObjekt b) { int tmp = a.wert; a.wert = b.wert; b.wert = tmp; IntObjekt xobjekt = new IntObjekt(1); IntObjekt yobjekt = new IntObjekt(2); System.out.println("xObjekt.wert=" + xobjekt.wert +.ertausche(xobjekt, yobjekt); xobj=1, yobj=2 ", yobjekt.wert=" + yobjekt.wert); System.out.println("xObjekt.wert=" + xobjekt.wert + ", yobjekt.wert=" + yobjekt.wert); xobj=2, yobj=1 Klassen und Objekte 17

Beispiel 2 (erbessert): Speicherentwicklung (1) public oid ertausche(intobjekt a, IntObjekt b) { int tmp = a.wert; a.wert = b.wert; b.wert = tmp; IntObjekt xobjekt = new IntObjekt(1); IntObjekt yobjekt = new IntObjekt(2);.ertausche(xObjekt, yobjekt); xobj.wert=1, yobj.wert=2 yobjekt xobjekt wert = 2 wert = 1 Klassen und Objekte 18

Einführung in die Informatik Beispiel 2 (erbessert): Speicherentwicklung (2) public oid ertausche(intobjekt a, IntObjekt b) { int tmp = a.wert; a.wert = b.wert; b.wert = tmp; IntObjekt xobjekt = new IntObjekt(1); IntObjekt yobjekt = new IntObjekt(2);.ertausche(xObjekt, yobjekt); xobj.wert=1, yobj.wert=2 b a this yobjekt xobjekt Call by Value: Die Werte der aktuellen Parameter werden die Werte der formalen Parameter wert = 2 wert = 1 Klassen und Objekte 19

Beispiel 2 (erbessert): Speicherentwicklung (3) public oid ertausche(intobjekt a, IntObjekt b) { int tmp = a.wert; a.wert = b.wert; b.wert = tmp; IntObjekt xobjekt = new IntObjekt(1); IntObjekt yobjekt = new IntObjekt(2);.ertausche(xObjekt, yobjekt); xobj.wert=1, yobj.wert=2 tmp 1 b a this yobjekt xobjekt wert = 2 wert = 1 Klassen und Objekte 20

Beispiel 2 (erbessert): Speicherentwicklung (4) public oid ertausche(intobjekt a, IntObjekt b) { int tmp = a.wert; a.wert = b.wert; b.wert = tmp; IntObjekt xobjekt = new IntObjekt(1); IntObjekt yobjekt = new IntObjekt(2);.ertausche(xObjekt, yobjekt); xobj.wert=1, yobj.wert=2 tmp 1 b a this yobjekt xobjekt wert = 2 wert = 2 Klassen und Objekte 21

Beispiel 2 (erbessert): Speicherentwicklung (5) public oid ertausche(intobjekt a, IntObjekt b) { int tmp = a.wert; a.wert = b.wert; b.wert = tmp; IntObjekt xobjekt = new IntObjekt(1); IntObjekt yobjekt = new IntObjekt(2);.ertausche(xObjekt, yobjekt); xobj.wert=1, yobj.wert=2 tmp 1 b a this yobjekt xobjekt wert = 1 wert = 2 Klassen und Objekte 22

Beispiel 2 (erbessert): Speicherentwicklung (6) public oid ertausche(intobjekt a, IntObjekt b) { int tmp = a.wert; a.wert = b.wert; b.wert = tmp; IntObjekt xobjekt = new IntObjekt(1); IntObjekt yobjekt = new IntObjekt(2);.ertausche(xObjekt, yobjekt); xobj.wert=1, yobj.wert=2 yobjekt xobjekt wert = 1 wert = 2 Klassen und Objekte 23