7. Objektorientierung. Informatik II für Verkehrsingenieure

Größe: px
Ab Seite anzeigen:

Download "7. Objektorientierung. Informatik II für Verkehrsingenieure"

Transkript

1 7. Objektorientierung Informatik II für Verkehrsingenieure

2 Klassen, Objekte und Attribute

3 Buslinie und Haltestellen 3

4 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete Haltestelle (Inhalt) Klasse Objekt Jede Haltestelle hat... einen Namen. eine Fahrtzeit. eine (oder keine) nachfolgende Haltestelle. Diese Haltestelle hat... den Namen Technische Universität. eine Fahrtzeit von 7 min. jene nachfolgene Haltestelle. x 7

5 Buslinien und deren Eigenschaften Bauplan einer Buslinie (Struktur) Klasse Jede Buslinie... hat eine Nummer. eine erste Haltestelle. Konkrete Buslinie (Inhalt) Objekt Diese Buslinie hat... die Nummer 61. jene erste Haltestelle. 10

6 Zusammenfassung der Begriffe Klassen Baupläne für Objekte, die festlegen, welche Eigenschaften und Verhaltensweisen Objekte dieser Klasse haben. Objekte Eigenständiges Element (Instanz) einer Klasse Attribute/Attributwert Eigenschaft einer Klasse/Wert einer Eigenschaft eines Objektes 11

7 Klassen, Objekte und Attribute in Java

8 Projektaufbau Eine Datei pro Klasse Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Hauptdatei mit main-funktion Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie.java public class Buslinie { int nummer; Haltestelle start; 13

9 Instanziierung von Objekten Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Instanziierung einer Buslinie Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(); Buslinie.java public class Buslinie { int nummer; Haltestelle start; Buslinie b int nummer Haltestelle start 14

10 Setzen von Attributwerten Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Zuweisung der Nummer der Buslinie Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(); b.nummer = 61; Buslinie.java public class Buslinie { int nummer; Haltestelle start; Buslinie b int 61 nummer Haltestelle start 15

11 Instanziierung von Objekten in Java Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Instanziierung einer Haltestelle Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(); b.nummer = 61; Haltestelle h1 = new Haltestelle(); Buslinie.java public class Buslinie { int nummer; Haltestelle start; Haltestelle h1 Buslinie b int 61 nummer Haltestelle start String name int fahrtzeit Haltestelle nachfolger 16

12 Setzen von Attributwerten Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Buslinie.java public class Buslinie { int nummer; Haltestelle start; Haltestelle h1 Buslinie b Zuweisung von Name und Fahrtzeit Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(); b.nummer = 61; Haltestelle h1 = new Haltestelle(); h1.name = Tharandter Straße ; h1.fahrtzeit = 0; int 61 nummer Haltestelle start String name int 0 fahrtzeit Haltestelle nachfolger Tharandter Straße 17

13 Setzen von Attributwerten Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Buslinie.java public class Buslinie { int nummer; Haltestelle start; Haltestelle h1 Buslinie b Zuweisung einer Starthaltestelle Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(); b.nummer = 61; Haltestelle h1 = new Haltestelle(); h1.name = Tharandter Straße ; h1.fahrtzeit = 0; b.start = h1; int 61 nummer Haltestelle start String name int 0 fahrtzeit Haltestelle nachfolger Tharandter Straße 18

14 Instanziierung von Objekten in Java Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(); b.nummer = 61; Haltestelle h1 = new Haltestelle(); h1.name = Tharandter Straße ; h1.fahrtzeit = 0; b.start = h1; Buslinie.java public class Buslinie { int nummer; Haltestelle start; 19

15 Zusammenfassung Klassen und Dateien Eine Hauptdatei mit main-funktion Pro Klasse eine Datei (Klassenname = Dateiname) public class KLASSENNAME {... Objekte Instanziierung mit new- Operator KLASSENNAME BEZEICHNER = new KLASSENNAME(); Attribute Deklaration mit Datentyp und Namen in der Klasse Datentypen können - bereits bekannt sein (String, int, double,...) oder - Zeiger auf Objekte Zugriff auf Attribute eines Objektes DATENTYP ATTRIBUTNAME; OBJEKTBEZEICHNER.ATTRIBUTNAME = WERT; 20

16 Aufgabe 1: Instanziierung von Objekten Füge die nächste Haltestelle hinzu! Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(); b.nummer = 61; Haltestelle h1 = new Haltestelle(); h1.name = Tharandter Straße ; h1.fahrtzeit = 0; b.start = h1; Buslinie.java public class Buslinie { int nummer; Haltestelle start; 21

17 Eigenschaften der Instanziierung Beobachtungen Eine Zeile für das Anlegen eines Objektes und eine Zeile pro Attribut viel Code, wenig Übersicht Anlegen von Buslinien ohne Nummer, Haltestellen ohne Namen möglich Mögliche Inkonsistenzen Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(); b.nummer = 61; Haltestelle h1 = new Haltestelle(); h1.name = Tharandter Straße ; h1.fahrtzeit = 0; b.start = h1; 26

18 Eigenschaften der Instanziierung Beobachtungen Eine Zeile für das Anlegen eines Objektes und eine Zeile pro Attribut viel Code, wenig Übersicht Anlegen von Buslinien ohne Nummer, Haltestellen ohne Namen möglich Mögliche Inkonsistenzen Vorteile der Nutzung von Konstruktoren Weniger Code und bessere Übersicht Nur Buslinien mit Nummern, nur Haltestellen mit Namen Bessere Idee mit Konstruktoren Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); Haltestelle h1 = new Haltestelle( Tharandter Straße, 0); b.start = h1; 27

19 Konstruktoren

20 Instanziierung mit Konstruktoren Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Instanziierung Buslinie mit Parameter Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { // Buslinie b = new Buslinie(); // b.nummer = 61; Buslinie b = new Buslinie(61); Buslinie.java public class Buslinie { int nummer; Haltestelle start; 29

21 Instanziierung mit Konstruktoren Definition des Konstruktors in der Klasse Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); Buslinie.java public class Buslinie { int nummer; Haltestelle start; public Buslinie(int n){ nummer = n; 30

22 Konstruktoren Definition in der jeweiligen Klasse kein Rückgabetyp heißt wie die Klasse Eingabeparameter können Attributen übergeben werden public class KLASSENNAME {... public KLASSENNAME(DATENTYP BEZEICHNER,...){ ATTRIBUTNAME = BEZEICHNER;... Instanziierung an anderer Stelle im Programm Eingabeparameter müssen dem Typ in der Definition entsprechen KLASSENNAME BEZEICHNER = new KLASSENNAME(...); 31

23 Aufgabe 2: Konstruktoren Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; Buslinie.java public class Buslinie { int nummer; Haltestelle start; public Buslinie(int n){ nummer = n; Instanziierung Haltstelle mit Parameter Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); //Haltestelle h1 = new Haltestelle(); //h1.name = Tharandter Straße ; //h1.fahrtzeit = 0; Haltestelle h1 = new Haltestelle( Tharandter Straße, 0); b.start = h1; 32

24 Zusammenfassung Klassen Baupläne für Objekte, die festlegen, welche Eigenschaften und Verhaltensweisen Objekte dieser Klasse haben. Objekte Eigenständiges Element (Instanz) einer Klasse Attribute/Attributwert Eigenschaft einer Klasse/Wert einer Eigenschaft eines Objektes Konstruktoren Methoden zur Erzeugung eines Objektes 35

25 Sichtbarkeiten und Datenkapselung

26 Kapselung der Daten im Objekt Geheimnisprinzip Attribute sollen von außen nicht für andere Objekte zugreifbar sein Nur das Objekt selbst soll seine Attribute ändern dürfen Realisierung über Zugriffmodifizierer private Zugriff auf Daten des Objektes über Methoden 37

27 Private Attribute Haltestelle.java public class Haltestelle { String name; int fahrtzeit; Haltestelle nachfolger; public Haltestelle (String n, int f){ name = n; fahrtzeit = f; Direkter Attributzugriff Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); Haltestelle h1 = new Haltestelle( Tharandter Straße, 0); b.start = h1; Buslinie.java public class Buslinie { int nummer; Haltestelle start; public Buslinie(int n){ nummer = n; 38

28 Private Attribute Haltestelle.java public class Haltestelle { private String name; private int fahrtzeit; private Haltestelle nachfolger; public Haltestelle (String n, int f){ name = n; fahrtzeit = f; Direkter Attributzugriff Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); Haltestelle h1 = new Haltestelle( Tharandter Straße, 0); b.start = h1; Buslinie.java public class Buslinie { private int nummer; private Haltestelle start; public Buslinie(int n){ nummer = n; 39

29 Zugriffsmodifizierer Ziel der Datenkapselung Nutzen von definierten Schnittstellen Innenleben einer Klasse weitestgehend geheim, von außen nicht sichtbar Fehlervermeidung Generell Stehen vor Klassen, Methoden, Attributen public Andere Objekte dürfen auf Attribut, Methode, Klasse zugreifen. private Nur das Objekt selbst darf auf Attribute oder Methoden zugreifen. 40

30 Private Attribute Haltestelle.java public class Haltestelle { private String name; private int fahrtzeit; private Haltestelle nachfolger; public Haltestelle (String n, int f){ name = n; fahrtzeit = f; Direkter Attributzugriff Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); Haltestelle h1 = new Haltestelle( Tharandter Straße, 0); b.start = h1; Buslinie.java public class Buslinie { private int nummer; private Haltestelle start; public Buslinie(int n){ nummer = n; 41

31 Methoden

32 Getter und Setter Definition von Methoden Buslinie.java public class Buslinie { private int nummer; private Haltestelle start; public Buslinie(int n){ nummer = n; public void setstart(haltestelle h){ start = h; public Haltestelle getstart(){ return start; Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); Haltestelle h1 = new Haltestelle( Tharandter Straße, 0); 43

33 Getter und Setter Buslinie.java public class Buslinie { private int nummer; private Haltestelle start; public Buslinie(int n){ nummer = n; public void setstart(haltestelle h){ start = h; public Haltestelle getstart(){ return start; Aufruf von Methoden Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); Haltestelle h1 = new Haltestelle( Tharandter Straße, 0); b.setstart(h1); Haltestelle halt = b.getstart(); 44

34 Getter und Setter Getter Methode ohne Eingabeparameter Gibt den aktuellen Wert eines Attributes zurück Rückgabetyp ist der Datentyp des Attributs Setter Setzt Attributwerte Parameter mit Datentyp des Attributs als Eingabe Keine Rückgabe (void) public class Buslinie { private Haltestelle start;... public Haltestelle getstart(){ return start; public class Buslinie { private Haltestelle start;... public void setstart(haltestelle h){ start = h; 45

35 Aufgabe 3: Getter und Setter für Nummer Buslinie.java public class Buslinie { private int nummer; private Haltestelle start; public Buslinie(int n){ nummer = n; public void setstart(haltestelle h){ start = h; public Haltestelle getstart(){ return start; Aufruf von Methoden Buslinienverwaltung.java public class Buslinienverwaltung { public static void main(string[] args) { Buslinie b = new Buslinie(61); Haltestelle h1 = new Haltestelle( Tharandter Straße, 0); b.setstart(h1); Haltestelle halt = b.getstart(); b.setnummer(66); int num = b.getnummer(); 46

36 Zusammenfassung Buslinie.java public class Buslinie { private int nummer; private Haltestelle start; public Buslinie(int n){ nummer = n; public void setstart(haltestelle h){ start = h; public Haltestelle getstart(){ return start; public void setnummer(int n){ nummer = n; public int getnummer(){ return nummer; Klassen Baupläne für Objekte, die festlegen, welche Eigenschaften und Verhaltensweisen Objekte dieser Klasse haben. Objekte Eigenständiges Element (Instanz) einer Klasse Attribute/Attributwert Eigenschaft einer Klasse/Wert einer Eigenschaft eines Objektes Konstruktoren Methoden zur Erzeugung eines Objektes Methoden Ändern von Attributwerten und Ausführen von Aktionen 48

37 UML - Unified Modeling Language

38 Einführung UML (Unified Modeling Language) Was ist UML? grafische Notation für die Beschreibung objektorientierter Konzepte legt verschiedene Diagrammarten mit den entsprechenden Symbolen fest Unterscheidung in Strukturdiagramme und Verhaltensdiagramme Diagramm, welches eine statische (unveränderliche, zeitinvariante) Komponente eines Systems modelliert Diagramm, das die dynamische Komponente eines Systems modelliert Diagramm, welches Klassen, Schnittstellen und Beziehungen modelliert 50

39 Klassendiagramm Buslinie - nummer: int - start: Haltestelle + Buslinie( n: int ) + getnummer( ) : int + setnummer( n: int ) + getstart( ) : Haltestelle + setstart( h: Haltestelle ) Haltestelle - name: String - fahrtzeit: int - nachfolger: Haltestelle + Haltestelle(n: String, f: int ) + getname( ) : String + setname( n: String ) + getfahrtzeit( ): int + setfahrtzeit(): int + getnachfolger( ): Haltestelle + setnachfolger(h: Haltestelle) 51

40 Klassendiagramm Klassen Jede Klasse als Rechteck dargestellt Drei Kompartments durch Linie getrennt - Klassenname - Attribute - Konstruktoren und Methoden Buslinie - nummer: int - start: Haltestelle + Buslinie( n: int ) + getnummer( ) : int + setnummer( n: int ) + getstart( ) : Haltestelle + setstart( h: Haltestelle ) Haltestelle - name: String - fahrtzeit: int - nachfolger: Haltestelle + Haltestelle(n: String, f: int ) + getname( ) : String + setname( n: String ) + getfahrtzeit( ): int + setfahrtzeit(): int + getnachfolger( ): Haltestelle + setnachfolger(h: Haltestelle) 52

41 Klassendiagramm Attribute Sichtbarkeiten: private (-) oder public (+) Bezeichner : Datentyp Buslinie - nummer: int - start: Haltestelle + Buslinie( n: int ) + getnummer( ) : int + setnummer( n: int ) + getstart( ) : Haltestelle + setstart( h: Haltestelle ) Haltestelle - name: String - fahrtzeit: int - nachfolger: Haltestelle + Haltestelle(n: String, f: int ) + getname( ) : String + setname( n: String ) + getfahrtzeit( ): int + setfahrtzeit(): int + getnachfolger( ): Haltestelle + setnachfolger(h: Haltestelle) 53

42 Klassendiagramm Konstruktuoren und Methoden Sichtbarkeiten: private (-) oder public (+) Bezeichner Parameterliste - mit Klammern umschlossen ( ) - Parameter durch Komma getrennt - Parameter mit Name : Datentyp Bei Methoden mit Rückgabe zusätzlich - : - Rückgabetyp Buslinie - nummer: int - start: Haltestelle + Buslinie( n: int ) + getnummer( ) : int + setnummer( n: int ) + getstart( ) : Haltestelle + setstart( h: Haltestelle ) Haltestelle - name: String - fahrtzeit: int - nachfolger: Haltestelle + Haltestelle(n: String, f: int ) + getname( ) : String + setname( n: String ) + getfahrtzeit( ): int + setfahrtzeit(): int + getnachfolger( ): Haltestelle + setnachfolger(h: Haltestelle) 54

43 Klassendiagramm Beziehungen (Assoziationen) Beziehung zwischen zwei oder mehr Klassen Linie zwischen zwei Klassen Haltestelle Buslinie - nummer: int - start: Haltestelle + Buslinie( n: int ) + getnummer( ) : int + setnummer( n: int ) + getstart( ) : Haltestelle + setstart( h: Haltestelle ) - name: String - fahrtzeit: int - nachfolger: Haltestelle + Haltestelle(n: String, f: int ) + getname( ) : String + setname( n: String ) + getfahrtzeit( ): int + setfahrtzeit(): int + getnachfolger( ): Haltestelle + setnachfolger(h: Haltestelle) 55

44 Klassendiagramm Beziehungen (Assoziationen) Aggregationen Beziehung der Teile zu einem Ganzen (Buslinie ergibt keinen Sinn ohne eine Starthaltestelle) Teile in einer Aggregation können existieren, wenn das Ganze nicht existiert (Die Starthaltestelle kann ohne die Buslinie existieren) Buslinie - nummer: int - start: Haltestelle + Buslinie( n: int ) + getnummer( ) : int + setnummer( n: int ) + getstart( ) : Haltestelle + setstart( h: Haltestelle ) Haltestelle - name: String - fahrtzeit: int - nachfolger: Haltestelle + Haltestelle(n: String, f: int ) + getname( ) : String + setname( n: String ) + getfahrtzeit( ): int + setfahrtzeit(): int + getnachfolger( ): Haltestelle + setnachfolger(h: Haltestelle) 56

45 UML Modellierung von Listen

46 Klassendiagramm Listen als Abstraktion der Buslinie Buslinie als Liste Haltestelle als Element Element - obj: Objekt - nachfolger: Element - kopf: Element Liste + setersteselement(e: Element) + getersteselement( ): Element + getletzteselement( ): Element + entferneersteselement( ) +giballeelementeaus( ) + setobjekt(obj: Objekt) + getobjekt( ): Objekt +setnachfolger(n: Element) +getnachfolger( ): Element 58

47 Zusammenfassung Objektorientierung Konzepte der Objektorientierung Klassen Objekte Attribute, Methoden, Konstruktoren Datenkapselung Implementierung Definition von Klassen Definition von Attributen, Methoden und Konstruktoren Zugriffsmodifizierer Instanziierung von Objekten, Zugriff auf Attribute, Methodenaufrufe UML Verschiedene Diagrammtypen Klassendiagramme 59

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung

14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung 275 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Klassen (Java) vs. Records (Pascal) 276 Pascal RECORDs in Pascal sind

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode: Klassenvariablen Klassenmethoden Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit

Mehr

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

Programmiertechnik Klassenvariablen & Instantiierung

Programmiertechnik Klassenvariablen & Instantiierung Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen

Mehr

Teil 2: Weitere Aspekte der Objektorientierung

Teil 2: Weitere Aspekte der Objektorientierung Teil 2: Weitere Aspekte der Objektorientierung Klassenvariablen So wie es Instanzvariablen gibt, die zu einer gewissen Instanz (Objekt) gehören und deren Attribute speichern, so gibt es aus Klassenvariablen:

Mehr

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E. Objekte und Klassen INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? typedef struct Konto { double saldo; int id; Konto; Modul "konto" konto.h konto.c Prozedurale Programmierung:

Mehr

Propädeutikum Programmierung in der Bioinformatik

Propädeutikum Programmierung in der Bioinformatik Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung

Mehr

Programmiertechnik Objektorientierung

Programmiertechnik Objektorientierung Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Überblick. Peer Kröger (LMU München) Einführung in die Programmierung WS 14/ / 492

Überblick. Peer Kröger (LMU München) Einführung in die Programmierung WS 14/ / 492 Überblick 6. Grundlagen der objektorientierten Programmierung 6.1 Abstrakte Datentypen: von Structures zu Klassen 6.2 Das objektorientierte Paradigma 6.3 Peer Kröger (LMU München) Einführung in die Programmierung

Mehr

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

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Analyse der Klasse Konto

Analyse der Klasse Konto Klasse Konto erzeugt Objekte vom Typ Konto mit gleichen Eigenschaften mit gleichen Fähigkeiten Welche Eigenschaften hat ein Konto? Attribute Datenfelder - Konto hat eine Nummer - Konto hat Inhaber - Konto

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object

Mehr

Tag 7 Repetitorium Informatik (Java)

Tag 7 Repetitorium Informatik (Java) Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; } Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Objektorientes Design & Programm

Objektorientes Design & Programm Objektorientes Design & Programm Ziele Motivation für OO-Design Softwarekomponenten mit Objektbeschreibungen Klassen und Objekte Konstruktoren zum Erzeugen von Objekten Motivation Vermischung von Variablendeklarationen

Mehr

12. Java Klassen. Klassen - Technisch. Beispiel: Erdbebendaten. Klassen - Konzeptuell

12. Java Klassen. Klassen - Technisch. Beispiel: Erdbebendaten. Klassen - Konzeptuell Klassen - Technisch Eine Klasse ist eine Einheit mit einem Namen, die Daten und Funktionalität beinhaltet 12. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, Kapselung,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Was bisher geschah... Konzepte: Klassen und ihre...... Instanzen, die

Mehr

11. Java Klassen. Klassen - Technisch. Klassen - Beispiel: Erdbebendaten. Klassen - Konzeptuell

11. Java Klassen. Klassen - Technisch. Klassen - Beispiel: Erdbebendaten. Klassen - Konzeptuell Klassen - Technisch Eine Klasse ist eine Einheit mit einem Namen, die Daten und Funktionalität beinhaltet 11. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Informatik II. Woche 13, Giuseppe Accaputo

Informatik II. Woche 13, Giuseppe Accaputo Informatik II Woche 13, 30.03.2017 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Nachbesprechung Self-Assessment Test Nachbesprechung Übung 5 Java: Objektorientierte Programmierung Klassen und Objekte

Mehr

Programmiertechnik Objektorientierung, Teil 2

Programmiertechnik Objektorientierung, Teil 2 Programmiertechnik Objektorientierung, Teil 2 Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Einschub: Pakete Java-Klassen können in Paketen organisiert sein. Ein Paket (package) ist eine Sammlung

Mehr

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Folienpaket 7 Themenschwerpunkte: Methoden in OOP 284 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Eine Klasse entwerfen Eine Klasse enthält folgende Information: Name der Klasse (ist auch der

Mehr

Programmieren I. Dr. Klaus Höppner. Hochschule Darmstadt Wintersemester 2009/ / 22

Programmieren I. Dr. Klaus Höppner. Hochschule Darmstadt Wintersemester 2009/ / 22 Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2009/2010 1 / 22 Design von Klassen 2 / 22 Strategie zum Entwurf von Klassen Objektorientierte Sichtweise: Mit welchen Objekten habe

Mehr

Philipp Güttler Objektorientierung und komplexe Datentypen

Philipp Güttler Objektorientierung und komplexe Datentypen Philipp Güttler 23.04.2008 Objektorientierung und komplexe Datentypen Seite 2 Was bedeutet objekt-orientiert? Programmierung ist die Umsetzung von Sachverhalten und Aufgaben Zusammenfassen und Aufteilen

Mehr

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 08: Mehr zu Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Wiederholung Heutige Agenda Verwendung der ArrayList 2. Teil: Weitere Aspekte der OO

Mehr

Java für Bauingenieure

Java für Bauingenieure 1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

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

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

Mehr

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595 Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Umsetzung einer Klassenkarte in einer Programmiersprache

Umsetzung einer Klassenkarte in einer Programmiersprache Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Bis jetzt kennen wir (fast) nur primitive Datentypen. Diese entsprechen weitestgehend der Hardware des Rechners (z.b. besitzt ein Rechner Hardware um zwei floats zu addieren).

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung (Teil 2) - Objekt-Relationen - Pakete 2 Wiederholung (Klassen) In der Objektorientierung dienen Klassen als Blaupause für Objekte Eine Klasse beschreibt die Eigenschaften

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Klassen können bekanntlich aus zwei Komponententypen bestehen, nämlich Attributen und Methoden.

Klassen können bekanntlich aus zwei Komponententypen bestehen, nämlich Attributen und Methoden. Objektzugriff Klassen können bekanntlich aus zwei Komponententypen bestehen, nämlich Attributen und Methoden. Attribute sind in der Klasse mit Datentyp und Namen deklariert im Objekt sind sie mit jeweils

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

Klassen als Datenstrukturen

Klassen als Datenstrukturen Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Begriffe 1 (Wiederholung)

Begriffe 1 (Wiederholung) Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.

Mehr

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C++ - Objektorientierte Programmierung Konstante und statische Elemente C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja

Mehr

Fragen zur OOP in Java

Fragen zur OOP in Java - 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...

Mehr

Informatik II. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017

Informatik II. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017 1 Informatik II Übung 6 Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017 Heutiges Programm 2 1 Klassen - Technisch 2 Prediscussion

Mehr

Parameterübergabemechanismen für den Methodenaufruf

Parameterübergabemechanismen für den Methodenaufruf Methode, griech. der Weg zu etwas, planmäßiges Verfahren -Brockhaus Parameterübergabemechanismen für den Methodenaufruf Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw

Mehr

Klassenvariablen und statische Methoden

Klassenvariablen und statische Methoden Softwareentwicklung II (IB) Klassenvariablen und statische Methoden Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 05.04.2018 17:36 Inhaltsverzeichnis Klassenvariablen 1 Definition......................................

Mehr

3.3 Konstruktoren und Destruktoren

3.3 Konstruktoren und Destruktoren Konstruktoren eine spezielle Form von Methoden gleicher Name wie Klasse kein Rückgabewert Aufgabe: Instanzen einrichten (konstruieren), Anfangswerte setzen, Werte übernehmen, an Instanzvariablen übergeben

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 (7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte

Mehr

Einführung in die Programmierung für NF MI. Übung 07

Einführung in die Programmierung für NF MI. Übung 07 Einführung in die Programmierung für NF MI Übung 07 Inhalt Wiederholung Kommentare Wiederholung Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 07 2 Wiederholung Kommentare Kommentare

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

Mehr

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung

Mehr

Klassenvariablen und statische Methoden

Klassenvariablen und statische Methoden Klassenvariablen und statische Methoden Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: 05.04.2018 17:36 Klassenvariablen und statische Methoden 1/25 Klassenvariablen Klassenvariablen

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Abschnitt 6: Klassen, Objekte und Methoden in Java

Abschnitt 6: Klassen, Objekte und Methoden in Java Abschnitt 6: Klassen, Objekte und Methoden in Java 6. Klassen, Objekte und Methoden in Java 6.1 Klassen 6.2 Objekte 6.3 Methoden 6.4 Zusammenfassung 6 Klassen, Objekte und Methoden in Java Informatik 2

Mehr

Kapitel 2: OO Grundlagen

Kapitel 2: OO Grundlagen Kapitel 2: OO Grundlagen 2.1 Objekte zum Leben erwecken (und Grundmechanismen verstehen) 2.2 Statische Elemente nutzen & vererben 2.3 Kooperation über Interfaces Lothar Schmitz UniBwM (teils nach Prof.

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Polymorphie und UML Klassendiagramme

Polymorphie und UML Klassendiagramme Polymorphie und UML Klassendiagramme Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Vererbung hat einen sehr interessanten und effektiven Effekt: die Polymorphie. Darum geht es in dieser Veranstaltung. 2

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

Klassenvariablen, Klassenmethoden

Klassenvariablen, Klassenmethoden Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

11. Vektoren und Pointer Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

11. Vektoren und Pointer Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 11. Vektoren und Pointer Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Klassen und Objekte Evaluation Was ist der Unterschied

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 EINI LW/ in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de http://ls14-www.cs.tu-dortmund.de

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch

Mehr

Tafelübung 07 Algorithmen und Datenstrukturen

Tafelübung 07 Algorithmen und Datenstrukturen Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0 9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung

Mehr