Programmieren in Java

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Programmieren in Java"

Transkript

1 Einführung in die Objektorientierung Klassen

2 2 Prozeduale Programmierung Bisher: Klassische prozeduale Programmierung Java ist allerdings eine objektorientierte Sprache Rein prozeduale Programmierung daher umständlich: Umschließende Klasse ohne logischen Zusammenhang Keine Möglichkeit der logischen Zusammenfassung von Methoden Beides könnte aufgelöst werden, in dem Klassen als statische Module genutzt werden Was allerdings das Konzept einer Klasse durchbricht Daher prozeduale Programmierung in Java nicht erstrebenswert

3 3 Objekt-orientierte Programmierung Wir denken in Objekten Jeder Gegenstand, jedes Lebewesen hat bestimmte Eigenschaften Jeder Gegenstand, jedes Lebewesen hat bestimmte Fähigkeiten Jeder Gegenstand, jedes Lebewesen hat einen bestimmten Nutzen Objekt-orientierte Programmierung: Programmatische Problemstellung auf ein natürliches Konzept reduzieren Schwierigkeiten: Wie identifiziert man Objekte in einem Problem Einfacher, wenn die Problemstellung reale Gegenstände enthält, aber wie ist bspw. der OO-Ansatz im Heap -Projekt? Wie stehen Objekte in Verbindung Wer macht was

4 4 Beispiel Computer Hardware Dell: 4 GHz AMD Quad-Core 8 GB DDR3 SDRAM 1500 GB Festplatte DVD + Brenner 2 x USB 2.0 Creative Sound Blaster Z Radeon HD 7480 Windows 8 imac: 2.9 GHz Intel Core i5 8 GB DDR3 SDRAM 1000 GB Festplatte 3 x USB x Thunderbolt Onboard Soundkarte NVIDIA GeForce GT 750M80 OS X Yosemite1 Die Hardware soll als Software, also als Programm abgebildet werden Der Computer selbst ist schnell als Objekt identifiziert

5 5 Beispiel Dell Prozessor: 4 GHz AMD Quad Core RAM: 8 GB DDR3 SDRAM Festplatte: 1500 GB Opt. Laufwerk: DVD + Brenner Anschlüsse: 2 x USB Soundkarte: Creative Sound Blaster Z Grafikarte: Radeon HD 7480 Betriebssystem: Windows 8 imac Prozessor: 2.9 GHz Intel Core i5 RAM: 8 GB DDR3 SDRAM Festplatte: 1000 GB Opt. Laufwerk: - Anschlüsse : 3xUSB 2.0, 2xThunderbolt Soundkarte: Onboard Grafikkarte: NVIDIA GeForce GT 750M Betriebssystem: OS X Yosemite INSTANZ Prozessor RAM Festplatte Opt. Laufwerk Anschlüsse Soundkarte Grafikarte Betriebssystem Computer KLASSE

6 6 Klassen In der Objektorientierung dienen Klassen als Blaupause für Objekte Eine Klasse beschreibt die Eigenschaften eines Objektes die Fähigkeiten eines Objektes Ein konkretes Objekt wird als Instanz einer Klasse bezeichnet Die Instanz legt die konkreten Werte der Eigenschaften fest Auf Basis dieser Werte unterscheiden sich die Fähigkeiten der Instanz Jede Instanz hat ihr eigenes Set an Werten und nur die eigenen Werte können geändert werden Man kann demnach sagen: Jede Instanz ist zusammengesetzt aus Werten für die einzelnen Eigenschaften Damit ist jede Klasse eine zusammengesetzter Datentyp

7 7 Definition einer Klasse in Java MODIFIKATOREN class BEZEICHNER { optional MODIFIKATOREN - public final public class BEZEICHNER { Die Datei in der die Klasse definiert wird, muss BEZEICHNER.java heißen Die Modifikatoren sind optional, vorerst aber immer: public public: Jeder darf Instanzen dieser Klasse erzeugen

8 8 Objekt-Variablen Jede Klasse definiert einen neuen zusammengesetzten Datentyp Daher müssen Werte (Instanzen) dieses Datentyps mit new erzeugt werden Instanzen sind damit immer auf dem Heap abgelegt Default-Erzeugung einer Instanz: new KLASSENBEZEICHNER ( ) new Computer() Natürlich können Variablen (Pointer) auf Basis einer Klasse definiert werden KLASSENBEZEICHNER BEZEICHNER new KLASSENBEZEICHNER ( ) Computer mycomputer = new Computer(); Es bleibt: Die Variable kann nur Werte aufnehmen, die vom Typ der Definition sind Die Variable mycomputer muss daher immer auf eine Instanz der Klasse Computer verweisen (oder auf null)

9 9 Objekt-Attribute Im Eingangsbeispiel wurde von den konkreten Beschreibungen auf die Klasse Computer geschlossen Eine Eigenschaft ist eine Variable, deren Scope die Klasse ist: public class BEZEICHNER { DATENTYP BEZEICHNER ; String system; Die Eigenschaften müssen also noch auf passende Typen gemappt werden Prozessor RAM Festplatte Opt. Laufwerk Anschlüsse Soundkarte Grafikarte Betriebssystem Computer Computer Prozessor: String RAM: int Festplatte: int Opt. Laufwerk: String Anschlüsse: String[] Soundkarte: String Grafikarte: String Betriebssystem: String

10 10 Objekt-Attribute (II) Der Zugriff auf ein Objekt-Attribut erfolgt immer über eine Variable Wie bereist gesehen, sind Instanzen immer Heap-Werte Ein Attribut ist dabei ein Wert an einer bestimmten Stelle im Speicherbereich der Instanz, die über den Attributnamen zugreifbar ist Analog: Zugriff auf ein bestimmtes Array-Element über seinen Index Der Zugriff muss also per Dereferenzierung erfolgen String system; Computer mycomputer = new Computer(); String currentsystem = mycomputer.system; Ein Zugriff auf currentsystem würde zu null auswerten Das Objekt-Attribut wurde bisher nur definiert, aber nie initialisiert Eine Initialisierung kann bereits bei der Definition erfolgen String system = "Windows 8"; Computer pc = new Computer(); Computer imac = new Computer(); pc.system.equals(imac.system) true Jede Instanz hat damit als Defaultwert für system den Wert "Windows 8"!

11 11 Objekt-Methoden public RÜCKGABETYP BEZEICHNER ( DATENTYP PARAM-, ) BEZEICHNER optional SATZ; BLOCK { return AUSDRUCK ; Der Modifikator static: optional Mit: zur Klasse gehörig Ohne: zur Instanz gehörig Kein static bei Objekt-Methoden Der Modifikator public: Jeder darf die Methode aufrufen Vorerst jede Methode public public void dosomething() { Die Methode kann nur per Deferenzierung einer Instanz aufgerufen werden Computer pc = new Computer(); pc.dosomething();

12 12 Das Schlüsselwort: static Angenommen man würde die Methode dosomething mit static definieren: String system = "Windows 8"; public static void dosomething() { System.out.println("I like: " + system); Die IDE (oder genauer: der Compiler) wird sofort monieren: non-static variable system cannot be referenced from a static context Eine statische Methode hat keinen Zugriff auf Objekt-Attribute Sie gehört zur Klasse nicht aber zur Instanz Der Zugriff erfolgt daher auch direkt über die Klasse: Computer.doSomething(); Die main-methode ist daher static (wer sollte die nötige Instanz erzeugen?)

13 13 Das Schlüsselwort: this Objekt-Attribute können innerhalb einer Methode überdeckt werden String system = "Windows 8"; public void dosomething() { String system = "Linux"; System.out.println(" I like: " + system); Der Zugriff auf ein Attribut erfolgt immer über seine Instanz Dies ist auch innerhalb eines Objektes der Fall, allerdings implizit Der Compiler überprüft zuerst, ob eine Variable lokal definiert wurde Falls nicht, überprüft er ob ein passendes Objekt-Attribut existiert Falls ja, wird implizit der Variablenaufruf um das Schlüsselwort this ergänzt this ist ein spezieller Pointer, der immer auf die aktuelle Instanz verweist Besser ist es den Zugriff auf Attribute immer explizit mit this zu schützen public void dosomething() { String system = "Linux"; System.out.println("Booting: " + this.system); Computer pc = new Computer(); pc.dosomething(); "I like: Linux"; Computer pc = new Computer(); pc.dosomething(); "I like: Windows 8";

14 14 Attribut-Kapselung Meist ist eine enge Kapselung von Attribut und Instanz erstrebenswert: Attribute sollten nur durch die zugehörige Instanz geändert/gelesen werden Bislang ist ein Attribut allerdings auch von außen änder- bzw. lesbar Der Modifikator private definiert, dass ein Attribut nur noch von der eigenen Instanz geändert bzw. gelesen werden kann private int ram; Computer mycomputer = new Computer(); int currentram = mycomputer.ram; Der Zugriff und das Ändern erfolgt dann über zwei Methoden: set/get + uppercase(a) + ttributename int ram; Setter: Setzten eines neuen Wertes Getter: Lesen des Attributes public void setram(int ram) { this.ram = ram; public int getram() { return this.ram;

15 15 Warum? Das Attribut gehört zur Instanz, also soll auch die Instanz die Kontrolle haben Kapselung macht ein Attribut resistent vor invaliden Werten: Die Instanz kann vor dem Setzen über den Setter den Wert validieren und ggfs. ablehnen private int ram; public void setram(int ram) { if (ram < 4 ram > 16) { return ; this.ram = ram; Änderung der internen Repräsentation Definierter Datentyp stellt sich intern als ungeeignet dar Änderung möglich, das Attribut gekapselt Getter/Setter-Typ bleibt allerdings beim alten Typ

16 16 Die Computer-Klasse Computer Prozessor: String RAM: int Betriebssystem: String Festplatte: int Opt. Laufwerk: String Anschlüsse: String[] Soundkarte: String Grafikarte: String private String processor; private int ram; private String system; private int hd; private String device; private String[] connectors; private String soundcard; private String gfxcard; public void setprocessor(string processor) public int getprocessor () public void setram(int ram) public int getram() public void setconnectors(string[] connectors) public int getconnectors() public void setgfxcard(string gfxcard) public int getgfxcard ()

17 17 Die Computer-Klasse Nun da die Attribute der Computer-Klasse identifiziert, typisiert und implementiert wurden, können die konkreten Instanzen erstellt werden: Computer dell = new Computer(); dell.setprocessor("4 GHz AMD Quad Core"); dell.setram(8); dell.sethd(1500); dell.setdevice("dvd + Brenner"); dell.setsoundcard("creative Sound Blaster Z"); dell.setgfxcard("radeon HD 7480"); dell.setsystem("windows 8"); dell.setconnectors(new String[]{"USB", "USB"); Computer imac = new Computer(); imac.setprocessor("2.9 GHz Intel Core i5"); imac.setram(8); imac.sethd(1000); imac.setdevice(null); imac.setsoundcard("onboard"); imac.setgfxcard("nvidia GeForce GT 750M"); imac.setsystem("os X Yosemite"); imac.setconnectors( new String[]{ "USB", "USB", "USB", "Thunderbold", "Thunderbold" ); Die Instanziierung erfolgt in der main-methode Für die main-methode sollte eine neue Klasse erstellt werden Diese sollte lediglich die main-methode enthalten

18 18 Konstruktoren Im Beispiel werden imac und dell über die Setter-Methoden initialisiert Diese Initialisierung basiert allerdings rein auf gutem Willen Einzelne Setter-Aufrufe können weggelassen werden Syntaktisch ist dies kein Problem, aber evtl. semantisch Um im Bild zu bleiben: Ein Computer benötigt einen Prozessor Ein Konstruktor ist eine spezielle Methode zur Initialisierung einer Instanz Per Default besitzt jede Klasse implizit den leeren Konstruktor Ein Konstruktor wird automatisch beim Erzeugen mit new aufgerufen public class BEZEICHNER { public BEZEICHNER ( ) { public Computer() { Computer dell = new Computer(); Ein Konstruktor muss so heißen wie seine Klasse Ein Konstruktor hat keinen Rückgabewert und damit also auch kein return

19 19 Konstruktoren (II) Die Anzahl an Konstruktoren ist beliebig (Überladung von Methoden) Sobald ein eigener Konstruktor definiert wurde, ist eine Instanz nicht mehr über den Default-Konstruktor erzeugbar Stattdessen muss mit der Erzeugung genau ein Konstruktor erfüllt werden Die Erzeugung ist demnach nichts weiter als new + Methodenaufruf Wobei die Methode ein Konstruktor sein muss So kann die Initialisierung bestimmter Attribute sichergestellt werden public Computer (String processor, int ram, String system) { this.processor = processor; this.ram = ram; this.system = system; Computer dell = new Computer(); Computer dell = new Computer("4 GHz AMD Quad Core"); Computer dell = new Computer("4 GHz AMD Quad Core", 8, "Windows 8");

20 20 Funktionalität Die Eigenschaften eines Computers wurden als Attribute definiert Bisher ist jede Computer-Instanz lediglich ein Daten-Container Solche Instanzen werden POJOs genannt (Plain Old Java Object) Wieder im Bild: Ein Computer ist mehr als nur seine Bestandteile Zumindest wird man einen Computer an und ausschalten können Diese Fähigkeiten sollten in der Klasse verankert werden: public void on() { System.out.println("Booting: " + this.system); public void off() { System.out.println("Shutdown: " + this.system); Computer dell = new Computer( "4 GHz AMD Quad Core", 8, Windows 8" ); dell.on(); // Botting: Windows 8 dell.off(); // Shutdown: Windows 8 Computer imac = new Computer( "2.9 GHz Intel Core i5", 8, "OS X Yosemite" ); imac.on(); // Botting: OS X Yosemite imac.off(); // Shutdown: OS X Yosemite Die Methoden wurden in Abhängigkeit der Objekt-Attribute definiert Die Attribute bestimmen das Verhalten der Methode

21 21 Der Weg zur Klasse Analyse Neue Klassen können eine erneute Analyse erfordern Klassen identifizieren Attribute identifizieren Attribute typisieren Typisierung kann zu neuen Klassen führen Neue Funktionalität kann zu neuen Attributen führen Attribute kapseln Konstruktoren festlegen Funktionalität identifizieren Methoden definieren

22 22 Aufgabe Aufgabe 1: Legen Sie ein neues Netbeans-Projekt an Fügen Sie zwei Klassen hinzu Computer Implementieren Sie die Klasse von Folie 16 aus Füge Sie der Klasse eine Methode print hinzu, die alle Attribute der Instanz ausgibt Main Schreiben Sie hier eine main-methode, die zwei Computer Instanzen erstellt Nutzen Sie die print-methode, um eine Ausgabe zu generieren Aufgabe 2: Das Computer-Beispiel hinkt Identifizieren und Definieren Sie weitere Klassen auf Basis der Komponenten eines Computers

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Klassen & Objekte 2 Wiederholung (Arrays initialisieren) Statisch: BASISDATENTYP [] Bezeichner = { WERT, WERT, ; WERT DATENTYP int[] firstsevenfibonacci = {0, 1, 1,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

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

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

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

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

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI WiMa/LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

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

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

Programmieren in Java

Programmieren in Java Strings & Einführung in die Objektorientierung - Klassen 2 Wiederholung (Methoden) Jede Methode wird eindeutig beschrieben durch ihre Signatur RÜCKGABETYP BEZEICHNER ( DATENTYP, DATENTYP, ) optional static

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Java Schulung (Java 2 Java Development Kit 5 / 6)

Java Schulung (Java 2 Java Development Kit 5 / 6) 2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Letztes Mal static int ggt(int a, int b) { if (a == b) return a; else if (a > b) } return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Darf hier nicht stehen! Compiler sagt: Missing return statement

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

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

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE

Mehr

Objekt-Orientierte Programmierung

Objekt-Orientierte Programmierung Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt

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 Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Geschachtelte Klassen

Geschachtelte Klassen Geschachtelte Klassen Die Programmiersprache Java bietet nicht nur die Möglichkeit innerhalb von Klassen Datenfelder und Methoden zu definieren, sondern auch Klassen. Solche Klassen heißen en geschachtelte

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Predator G3. Premium Design. Advanced Technology. Immersive entertainment

Predator G3. Premium Design. Advanced Technology. Immersive entertainment - 1 - Desktop PCs Predator G3 Der neue Acer Predator G3 - Designed für Gaming und HD- Entertainment. Angetrieben von der neuesten CPU-Generation und von High-End Grafikkarten lässt er keine Wünsche offen

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Artikelnummer Bezeichnung Hersteller-Artikelnummer netto EK Sonder-EK UVP. 40-13-0063 Asus EeePC X101CH 90OA3PB22111A81E339Q 195,00 299,00

Artikelnummer Bezeichnung Hersteller-Artikelnummer netto EK Sonder-EK UVP. 40-13-0063 Asus EeePC X101CH 90OA3PB22111A81E339Q 195,00 299,00 Artikelnummer Bezeichnung Hersteller-Artikelnummer netto EK Sonder-EK UVP 40-13-0063 Asus EeePC X101CH 90OA3PB22111A81E339Q 195,00 299,00-25,7 cm (10") LED Display (matt) - Intel Atom N2600 Dual-Core (1,6

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

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

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

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

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

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

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck { Selektoren

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Gruppe Artikelnummer Artikelbezeichnung Beschreibung UVP

Gruppe Artikelnummer Artikelbezeichnung Beschreibung UVP Gruppe Artikelnummer Artikelbezeichnung Beschreibung UVP 14" bis 16" 11302100 14" bis 16" 11302000 c14w c14b ab 17" 65310118 Lenovo Notebook G70 14" bis 16" 65300116 HP Notebook 255 G4 Intel Atom X5-Z8300

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

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

Innere Klassen in Java

Innere Klassen in Java Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

ARCHline.XP 2010 installieren

ARCHline.XP 2010 installieren 1 Systemvoraussetzungen Beachten Sie nachstehende Systemvoraussetzungen für einen erfolgreichen Einsatz von ARCHline.XP 2010: Microsoft Windows XP (Home oder Professional) oder Windows Vista oder Windows

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

Mehr

Objektorientierung (OO)

Objektorientierung (OO) Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

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

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

Aufbau von Klassen. class punkt {...

Aufbau von Klassen. class punkt {... Einführung in C++ Aufbau von Klassen Eine wird mit dem Schlüsselwort class eingeleitet, und endet mit einem Semikolon. Der Inhalt wird zwischen geschweiften Klammern geschrieben. class punkt {... ; Im

Mehr

Objektorientierte Programmierung mit Python Objekt und Klassen

Objektorientierte Programmierung mit Python Objekt und Klassen Objektorientierte Programmierung mit Python Objekt und Klassen hat Kanten hat eine Farbe hat eine Kantenfarbe Rechteck zeichnen Rechteck einfärben Rechteck drehen Modulare Programmierung Eine Aufgabe wird

Mehr

Angewandte Softwareentwicklung Serialisierung

Angewandte Softwareentwicklung Serialisierung Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

World of Warcraft. Mindestvoraussetzungen

World of Warcraft. Mindestvoraussetzungen World of Warcraft Betriebssystem Windows XP / Windows Vista / Windows 7 Windows 7 / Windows 8 64-bit mit Windows 8 mit aktuellstem Servicepack aktuellstem Servicepack Prozessor Intel Core 2 Duo E6600 oder

Mehr

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 28 Testklasse public class TestGirokonto { public static void main(string[] args) { // erzeuge neues Konto Girokonto einkonto = new Girokonto();

Mehr

Klassen mit Instanzmethoden

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

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

Informatik I Eprog HS10

Informatik I Eprog HS10 Department of Informatics software evolution & architecture lab Informatik I Eprog HS10 Übung 5 1 Aufgabe: Konstruktoren und statische Variablen 1.1 Lernziele 1. Sie können ein Java Projekt in Eclipse

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

Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0

Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0 Objects First With Java A Practical Introduction Using BlueJ Mehr über Vererbung Exploring polymorphism 1.0 Zentrale Konzepte dieses Kapitels Methoden-Polymorphie statischer und dynamischer Typ Überschreiben

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

5.6 Vererbung. Vererbung

5.6 Vererbung. Vererbung 5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug

Mehr

Typumwandlungen bei Referenztypen

Typumwandlungen bei Referenztypen Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Vererbung. Martin Wirsing. Ziele. Vererbung

Vererbung. Martin Wirsing. Ziele. Vererbung 2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp

Mehr

Einführung in die. objektorientierte Programmierung

Einführung in die. objektorientierte Programmierung Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04) 10. Klassen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Objektorientierte Programmierung!Das Konzept der Klassen!Members!Objekte!Konstruktoren und Destruktoren!this-Pointer!Public und Private

Mehr

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,

Mehr

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design

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

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung. Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr