Objektorientierte Konzepte

Größe: px
Ab Seite anzeigen:

Download "Objektorientierte Konzepte"

Transkript

1 Objektorientierte Konzepte M. Jakob Gymnasium Pegnitz 21. Oktober 2017

2 Inhaltsverzeichnis 1 Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen Methodenaufrufe 2 Grundlagen der objektorientierten Programmierung Das erste Programm Klassen deklarieren Wertzuweisung Der Konstruktor Lokale Variablen Benutzerinformationen

3 In diesem Abschnitt 1 Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen Methodenaufrufe

4 Fachkontext Grundbegriffe der Objektorientierung Klassen Eund Objekte Datentypen Moderne Programmiersprachen wie zum Beispiel Java, C++, html basieren auf dem Prinzip der Objektorientierung. Dadurch werden die Programme in der Regel übersichtlicher, kürzer und sehr viel leistungsfähiger. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

5 Klassen... Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen... kann man sich als Fabriken vorstellen, die bestimmte Objekte mit bestimmten Eigenschaften (Attributen) herstellt. Beispiele... M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

6 Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen Klassenkarten Um eine Klasse möglichst einfach und übersichtlich zu beschreiben, benutzt man eine Klassenkarte (mit scharfen Ecken). oben steht der Name der Klasse, in Großbuchstaben. dann folgen die Attribute mit ihrem Datentyp (genaue Erklärung unten). unten stehen die Methoden, stets mit Klammern. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

7 Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen Objektkarten Eine Objektkarte haben immer abgerundete Ecken und geben die Attributwerte eines Objekts übersichtlich an. Oben steht der Name der Objekts, gefolgt von dem Namen der Klasse. Im zweiten Teil stehen die Attribute mit den zugeordneten Werten. Es werden keine Methoden aufgeführt. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

8 Grundbegriffe Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen Allgemein Eine Klasse ist ein Oberbegriff für gleichartige Objekte mit gleichen Attributen. Objekte haben einen eindeutigen Namen und haben ggf. verschiedene Attributswerte. Attributswerte werden mit Methoden (oder Diensten) verändert. Beispiel Klasse Konto mit den Attributen KontoNummer, Guthaben,... Das Konto konto07 mit KontoNummer=4711 und Guthaben=1000. Die Methode abheben() verändert den Wert des Attributs Guthaben. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

9 Grundbegriffe der Objektorientierung Datentypen in Klassenkarten Klassen und Objekte Datentypen Datentypen in Klassenkarten Der Datentyp wird in Klassenkarten hinter einem Doppelpunkt nach dem Attributnamen angegeben. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

10 Grundbegriffe der Objektorientierung Warum Datentypen? Klassen und Objekte Datentypen Warum Datentypen? Attribute allgemeiner Variablen sind Container (Speicherplätze) für veränderliche Werte. Abhängig vom ihrer Art, dem sog. Datentyp, muss genug Platz (gemessen in Byte) im Datenspeicher reserviert werden. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

11 Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen Datentypen in Java Zusammenfassung Datentyp Beschreibung Literale Bit int ganze Zahl [ 2 31 ; ] 32 boolean boolescher Wert true, false 1 double Gleitkommazahl [ 1, ; 1, ] 64 char Zeichen a, b, c, ) 16 String Zeichenkette Hallo Welt Objekttyp... Beachte primitive Datentypen werden klein geschrieben, Objekttypen groß (Erklärung später). Zeichen werden in einfache, Zeichenketten in doppelte Hochkommata eingeschlossen.. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

12 Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen Übungen Ü 1.1: Die Klasse Rechteck 1 Zeichne eine Klassenkarte der Klasse RECHTECK mit mindestens 4 Attribute und 3 Methoden. 2 Zeichne die Objektkarten der Objekte tuere, fussballfeld, buch, der Klasse RECHTECK zeichnen Ü 1.2: Die Klasse PLANET 1 Zeichne eine Klassenkarte der Klasse PLANET mit den Attributen name, mond, bewohnerzahl, bahnradius und den Methoden bewohnerzahlgeben(), umlaufzeitgeben(), bewohnerzahlaendern(). 2 Zeichne die Objektkarten der Objekte erde, jupiter und uranus. Ü 1.3: Erstelle die Klassenkarte einer Klasse deiner Wahl und drei dazugehörige Objektkarten M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

13 In diesem Abschnitt 1 Grundbegriffe der Objektorientierung Klassen und Objekte Datentypen Methodenaufrufe

14 Objektinteraktion Grundbegriffe der Objektorientierung Methodenaufrufe Ü 1.4: Objektinteraktion 1 Öffne das Scenario Wombats und erzeuge einige Wombats und einige Leaves. 2 Rufe für einen Wombat die Methode move() und turnleft()auf. Beschreibe, was jeweils passiert. Erzeuge einen zweiten Wombat und sorge dafür, dass sie sich anschauen. Ü 1.5: Rückgabetypen 1 Öffne das Scenario Wombats und erzeuge einige Wombats und einige Leaves. 2 Rufe für einen Wombat die Methode move() und turnleft()auf. Beschreibe, was jeweils passiert. Erzeuge einen zweiten Wombat und sorge dafür, dass sie sich anschauen. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

15 Grundbegriffe der Objektorientierung Methodenaufrufe Rückgabetypen Ü 1.6: Rückgabetypen 1 Öffne das Scenario Wombats, erzeuge einen Wombat und ruf die Methode canmove() auf. Liefert sie immer true zurück? Oder gibt es Situationen, in denen sie false liefert? 2 Für einen neuen Wombat liefert die Methode getleaveseaten() immer null zurück. Bringe den Wobat dazu, dass dieser Wert gleich 3 wird. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

16 Eingabeparameter Grundbegriffe der Objektorientierung Methodenaufrufe Ü 1.7: Eingabeparameter 1 Öffne das Scenario Wombats erzeuge einen Wombat und ruf die Methode setdirection(int direction) auf. Gib eine Zahl für den Parameterwert ein und beobachte, was passiert. Welche Zahl entspricht welcher Richtung? Was passiert, wenn du eine Zahl größer 3, oder eine Dezimalzahl (z.b. 2.5) oder ein Wort (z.b. drei) eingibst? M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

17 Grundbegriffe der Objektorientierung Methodenaufrufe Aufbau von Methoden Methoden müssen folgende Informationen erhalten: Die Eingabewerte samt Datentypen Was sie tun sollen Was sie als Ergebnis zürückliefern sollen samt Datentyp formal mit Modifyer: public double Mittelwert(int a, int b) obige Beispiele implementieren M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

18 Grundbegriffe der Objektorientierung Methodenaufrufe Aufbau von Methoden Methodensignatur Aufbau von Methoden Methodensignatur Die Methodensignatur besteht aus Einen Zugriffsmodifier, (Erklärung folgt später) einen Bezeichner, eine Liste der formalen Parameter mit deren Datentypen, einen Ergebnistyp. Formal: <Modifier> <E-Typ> <Bezeichner> (<P-Liste>) Beachte: Wenn die Methode kein Ergebnis liefert, muss als Ergebnistyp void (= leer) angegeben werden. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

19 Grundbegriffe der Objektorientierung Methodenaufrufe Methodenaufrufe Erstkontakt Little Crab (bis Kölling Übg. 2.8) Methodenaufrufe Der Befehl move(5) ist ein Beispiel für einen Methodenaufruf. Eine Methode ist eine Aktion, die ein Objekt (z.b. eine Krabbe) ausführen kann, und ein Methodenaufruf ist ein Befehl, der die Krabbe anweist, eben diese Aktion auszuführen. Die Klammern und die Zahl ist Teil des Methodenaufrufs. Die Zahl wird Parameter genannt. Es gibt Befehle, die keine Parameter benötigen (z.b. stop()). Befehle werden durch einen Semikolon getrennt. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

20 Grundbegriffe der Objektorientierung Methodenaufrufe Vertiefung Ü 1.8: Vertiefung asteroids1 1 Öffne das Scenario asteroids1 und erzeuge Objekte der Klassen Rocket, Bullet, Asteroid und Exposion. Klicke auf run und steuere das Raumschiff mit den Pfeil- und er Leertaste. 2 Die Schüsse werden mit einiger Zeitverzögerung abgefeuert. Das wollen wir jetzt beheben. Plaziere dazu eine Rakete in der Welt, ruf mit einem Rechtsklick die Methode setgunreloadtime auf und setze den Wert auf 5. Spiel nun nochmals. 3 Halte das Spiel durch drücken der Pause-Taste an und finde heraus, wie viele Schüsse du abgefeuert hast. 4 Die Rakete bewegt sich etwas, wenn du sie in der Welt ablegst. Wie hoch ist die Anfangsgeschwindigkeit? 5 Halte das Spiel an (Reset drücken) und öffne den Quellcode der Klasse Rocket durch einen Doppelklick auf das Klassensymbol. Wie kann man direkt im Quellcode die Zeitverzögerung der Schüsse verändern? M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

21 In diesem Abschnitt 2 Grundlagen der objektorientierten Programmierung Das erste Programm Klassen deklarieren Wertzuweisung Der Konstruktor Lokale Variablen Benutzerinformationen

22 Fehlererkennung Das erste Programm Ü 2.1: Eingabeparameter 1 Öffne das Scenario Little Crab und dort den Quelltext der Krabbe. Trage in die Methode act() (falls noch nicht geschehen) die beiden Befehle move(5); und turn(3); ein. Übersetze den Code und überzeuge dich, dass die Methode act() funktioniert. Entferne nun den Semikolon hinter dem Befehl übersetze das Programm und beschreibe, was passiert. Experimentiere auch mit anderen Fehlen (andere Schreibweisen, andere Klammern, andere Parameter... ). Finde mindestens fünf verschiedene Fehlermeldungen. Notiere dir jede Fehlermeldung und durch welchen Fehler sie ausgelöst wurde. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

23 if-anweisungen Das erste Programm Erstkontakt Little Crab (bis Kölling Übg. 2.17) if-anweisungen 1 if ( Bedingung ) 2 { 3 auszuführende Anweisungen falls Bedingung erfüllt 4 } 5 else 6 { 7 auszuführende Anweisungen falls Bedingung nicht erfüllt 8 } 9 } Bemerkung: Der else-block kann weggelassen werden. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

24 Das erste Programm Übung Ü 2.2: Grundbegriffe erklären Erläutere folgende Begriffe, die wir in den vorhergehenden Abschnitten gelernt haben, jeweils an einem Beispiel: 1 Klassen 2 Objekte 3 Methoden 4 Rückgabetyp 5 void 6 Parameter 7 Signatur M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

25 In diesem Abschnitt 2 Grundlagen der objektorientierten Programmierung Das erste Programm Klassen deklarieren Wertzuweisung Der Konstruktor Lokale Variablen Benutzerinformationen

26 Klassen deklarieren Von der Klassenkarte zur Klassendefinition M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

27 Klassen deklarieren Von der Klassenkarte zur Klassendefinition Ü 2.3: Java und BlueJ installieren Ü 2.4: Eintrittskarte deklarieren Ü 2.5: Rechteck und Planet deklarieren 1 public class Eintrittskarte { 2 private int nummer; 3 private String opernname; 4 private double preis; 5 private String zustand; 6 } M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

28 Klassen deklarieren Die Zugriffmodifizierer private und public können Daten, nach außen hin versteckt und so vor unerlaubten Zugriffen geschützt. Java bestizt 4 Zugriffsebenen (Zugriffsmodifizierer) Modifier Schutz Zugriff auf Daten von außen public minimal uneingeschränkt möglich private maximal nicht möglich package für uns derzeit unbedeutend protected für uns derzeit unbedeutend M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

29 Beispiel Grundlagen der objektorientierten Programmierung Klassen deklarieren 1 public class Konto{ 2 private int kontonummer; 3 private double guthaben; 4 private String kunde; 5 private boolean kreditkarte; Auf die Klasse Konto muss von außen zugegriffen werden (logisch); deshalb public Auf die Attribute soll der Zugriff von außen verweigert werden(public) weil Fehleingaben abgesicherte werden müssen: z.b. kontonummer:=3.14 oder guthaben:= zuwenig", Daten konsistent bleiben müssen, z.b. Kreditkarteneinzug bei guthaben<0. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

30 Klassen deklarieren Datenkapselung, die heilige Regel der Attributdeklaration Attribute werden stets private deklariert und der Zugriff ausschließlich über Methoden ermöglicht. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

31 Klassen deklarieren Attributimplementierung im Detail Beispiel: private int kontonummer; M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

32 Klassen deklarieren Attributimplementierung im Detail Beispiel: private int kontonummer; M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

33 Klassen deklarieren Attributimplementierung im Detail Beispiel: private int kontonummer; M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

34 Klassen deklarieren Attributimplementierung im Detail Beispiel: private int kontonummer; int stellt den Speicherplatz im Rechner bereit M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

35 Klassen deklarieren Attributimplementierung im Detail Beispiel: private int kontonummer; int stellt den Speicherplatz im Rechner bereit M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

36 Klassen deklarieren Attributimplementierung im Detail Beispiel: private int kontonummer; int stellt den Speicherplatz im Rechner bereit kontonummer gibt dem Speicherplatz einen Zugriffs-Namen kontonummer M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

37 In diesem Abschnitt 2 Grundlagen der objektorientierten Programmierung Das erste Programm Klassen deklarieren Wertzuweisung Der Konstruktor Lokale Variablen Benutzerinformationen

38 Wertzuweisung Beispiel 1 Wertzuweisung 1 public class Konto{ 2 private int kontonummer; // Konstruktor 5 public Konto( String kname){ 6 kontonummer =12345; 7 } 8 } M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

39 Wertzuweisung Beispiel 1 Wertzuweisung 1 public class Konto{ 2 private int kontonummer; // Konstruktor 5 public Konto( String kname){ 6 kontonummer =12345; 7 } 8 } kontonummer M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

40 Wertzuweisung Beispiel 1 Wertzuweisung 1 public class Konto{ 2 private int kontonummer; // Konstruktor 5 public Konto( String kname){ 6 kontonummer =12345; 7 } 8 } kontonummer=12345 belegt die Speicherzelle mit dem Name kontonummer mit dem Wert kontonummer M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

41 Wertzuweisung Beispiel 1 Wertzuweisung 1 public class Konto{ 2 private int kontonummer; // Konstruktor 5 public Konto( String kname){ 6 kontonummer =12345; 7 } 8 } kontonummer=12345 belegt die Speicherzelle mit dem Name kontonummer mit dem Wert kontonummer M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

42 Wertzuweisung Bespiel 2 Wertzuweisung 1 private String kunde; 2 private String kname; 3 kname="peter" kunde=kname; 6... M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

43 Wertzuweisung Bespiel 2 Wertzuweisung 1 private String kunde; 2 private String kname; 3 kname="peter" kunde=kname; 6... Peter kunde kname M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

44 Wertzuweisung Bespiel 2 Wertzuweisung 1 private String kunde; 2 private String kname; 3 kname="peter" kunde=kname; 6... Peter Peter kunde kname M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

45 Wertzuweisung Wertzuweisung Bespiel Holzweg 1 private String kunde; 2 private String kname; 3 kname="peter" kname=kunde; } M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

46 Wertzuweisung Wertzuweisung Bespiel Holzweg 1 private String kunde; 2 private String kname; 3 kname="peter" kname=kunde; } Peter kunde kname M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

47 Wertzuweisung Wertzuweisung Definition (Wertzuweisung) Bei einer Wertzuweisung der Form A=B wir der Variable mit der Bezeichnung A der Inhalt der Variable mit der Bezeichnung B zugeordnet. Statt dem = -Zeichen wäre ein besser geeignet. Beachte: M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

48 Wertzuweisung Wertzuweisung Definition (Wertzuweisung) Bei einer Wertzuweisung der Form A=B wir der Variable mit der Bezeichnung A der Inhalt der Variable mit der Bezeichnung B zugeordnet. Statt dem = -Zeichen wäre ein besser geeignet. Beachte: A=B hat eine andere Bedeutung wie B=A. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

49 Wertzuweisung Wertzuweisung Definition (Wertzuweisung) Bei einer Wertzuweisung der Form A=B wir der Variable mit der Bezeichnung A der Inhalt der Variable mit der Bezeichnung B zugeordnet. Statt dem = -Zeichen wäre ein besser geeignet. Beachte: A=B hat eine andere Bedeutung wie B=A. i=i+1 heißt: Zelle i wird ein Wert zugewiesen, der um ein größer ist, als das, was derzeit in i steht. Der Inhalt der Zelle i erhöht sich also um 1. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

50 Wertzuweisung Übung Ü 2.6: Buchaufgaben S.44, 2.25 S.45, 2.26 S.45, 2.27 (vorher gem. Beispiel) S. 45, 2.28 M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

51 In diesem Abschnitt 2 Grundlagen der objektorientierten Programmierung Das erste Programm Klassen deklarieren Wertzuweisung Der Konstruktor Lokale Variablen Benutzerinformationen

52 Der Konstruktor Objekte erzeugen Der Konstruktor Objekt von Planet erzeugen und inspizieren Definition (Konstruktor) Der Konstruktor ist eine Methode zur Erzeugung eines Objektes. Dabei werden alle Attribute initialisiert, d.h. es wir ihnen ein fester Wert zugewiesen. Er wird mit dem Befehl new() aufgerufen. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

53 Der Konstruktor Implementation von eigenen Konstruktoren Java-Konstruktoren Jede Klasse kann beliebig viele Konstruktoren haben, sie tragen alle den Namen der Klasse müssen sich aber in der Parameterliste unterscheiden. Ist kein selbst geschriebener Konstruktor vorhanden, verwendet Java einen Standardkonstruktor, der alle Attribute auf null setzt. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

54 Der Konstruktor Implementation von Konstruktoren Beispiel public class Konto{ 4 private int kontonummer; 5 private double guthaben; 6 private String kunde; 7 private boolean kreditkarte; 8 9 // Konstruktoren 0 public konto( String neuerkunde){ 1 kunde=neuerkunde; 2 guthaben =0; 3 } 4 5 public Konto( String neuerkunde,int neueknr){ 6 kunde=neuerkunde; 7 kontonummer=neueknr; 8 guthaben =0; 9 kreditkarte=false; 0 } M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

55 Übungen Grundlagen der objektorientierten Programmierung Der Konstruktor Ü 2.7: Die Klasse Planet Implementiere in der Klasse Planet zwei unterschiedliche Konstruktoren. Dem ersten Konstruktor sollen als Parmeter der Name und die Bewohnerzahl übergeben werden. Der zweite Konstruktor soll alle Attributwerte als Parameter erhalten. Erzeuge alle Planeten als Objekte und teste die Konstruktoren ausführlich. Ü 2.8: Die Klasse Rechteck Implementiere in der Klasse Rechteck zwei unterschiedliche Konstruktoren. Gehe genauso vor, bei bei der vorherigen Aufgabe mit der Klasse Planet, wähle jedoch geeignete Parameterlisten selbst. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

56 In diesem Abschnitt 2 Grundlagen der objektorientierten Programmierung Das erste Programm Klassen deklarieren Wertzuweisung Der Konstruktor Lokale Variablen Benutzerinformationen

57 Lokale Variablen Beispiel Lokale Variablen 1 public class Kugel{ 2 3 private double radius; 4 5 public double VolumenBerechnen(){ 6 double volumen; 7 volumen = 4/3*3.1414* radius* radius* radius; 8 return volumen; 9 } 10 } M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

58 Lokale Variablen allgemein Lokale Variablen Lokale Variablen werden nur in einzelnen Methoden benötigt und auch nur dort deklariert und zwar ohne Modifizierer. Im Gegensatz zum Attribut belegen sie nur während der Ausführungszeit einer der Methode Speicherplatz. Lokale Variablen dürfen in verschiedenen Methoden den gleichen Namen tragen, haben geringeren Speicherbedarf und erzeugen übersichtlicheren Programmcode. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

59 Übungen Grundlagen der objektorientierten Programmierung Lokale Variablen Ü 2.9: Lokale Variablen der Klassen Kreis, Kugel und Planet Vervollständige die Klassen nach den Vorgaben im Programmcode M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

60 In diesem Abschnitt 2 Grundlagen der objektorientierten Programmierung Das erste Programm Klassen deklarieren Wertzuweisung Der Konstruktor Lokale Variablen Benutzerinformationen

61 Benutzerinformationen Methoden zur Benutzerinformation Es soll eine Methode kontodatenanzeigen() erstellt werden, die zu einem Konto die Kontodaten übersichtlich darstellt. Bildschirmausgaben in Java... werden durch die Befehle System.out.print(daten) und System.out.println(daten) erzeugt. Der Unterschied liegt darin, dass nach dem zweiten Befehl der Cursor in die nächste Zeile springt, beim ersten aber nicht. Ein Zeilenumbruch kann auch mit dem Befehl \n erreicht werden. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

62 Beispiel Kontodaten Benutzerinformationen 1 public void kontodatenanzeigen(){ 2 String kopfzeile; 3 String inhabertext; 4 String knrtext; 5 String guthabentext; 6 String kartentext; 7 8 kopfzeile = " Kontodaten\n =========="; 9 inhabertext = " Inhaber: "+ kunde; M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

63 Bespiel Kontodaten Benutzerinformationen 1 public void kontodatenanzeigen(){ 2 String kopfzeile; 3 String inhabertext; 4 String knrtext; 5 String guthabentext; 6 String kartentext; 7 8 kopfzeile = "Kontodaten\n=========="; 9 inhabertext = "Inhaber: "+ kunde; 10 knrtext = "Kontonummer: "+ kontonummer; 11 guthabentext = "Guthaben: "+ guthaben+ "Euro"; 12 kartentext = "besitzt Kreditkarte: "+ kreditkarte; System.out.println(kopfzeile); 15 System.out.println(inhaberText); 16 System.out.println(kNrText); 17 System.out.println(guthabenText); 18 System.out.println(kartenText); 19 } M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

64 Übungen Grundlagen der objektorientierten Programmierung Benutzerinformationen Ü 2.10: Benutzerinfo in den Klassen KONTO, PLANET und ELEMENT Ergänze in den Klassen KONTO, PLANET und ELEMENT jeweils die Methode datenanzeigen, die die Daten eines Objektes übersichtlich auf dem Bildschirm ausgibt. Ergänze bei Bedarf zusätzlich fehlende Getter- und Settermethoden. Ü 2.11: Die Klassen SEEWOLF Führe die Methode Ausgabe() der Klasse SEEWOLF aus und erkläre das Verhalten. Ü 2.12: S.51, 2.36 Ü 2.13: S.51, 2.37 M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

65 Benutzerinformationen Übungen Ü 2.14: Die Klassen Land und Stadt Implementiere die Klassen Land und Stadt in Java. Gehe dabei nach folgendem Schema vor: Sachsituation analysieren Klassenkarte erstellen Klasse deklarieren und testen Konstruktor festlegen und testen Setter- Gettermethoden implementieren und testen Weitere Methoden implementieren und testen Beim letzten Punkt Weitere Methoden implementieren und testen soll in beiden Klassen die Methode datenanzeigen() implementiert werden, die dem Benutzer die Attribute übersichtlich darstellt. M. Jakob (Gymnasium Pegnitz) Objektorientierte Konzepte 21. Oktober / 52

66

Grundwissen Informatik JS 10 24. September 2015

Grundwissen Informatik JS 10 24. September 2015 Grundwissen Informatik JS 10 24. September 2015 Grundlagen der Objektorientierung 1. Erkläre die Begriffe Klasse, Attribut, Attributwert, Objekt, Methode und Dienst. Beispiel! Allgemein Eine Klasse ist

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

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

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

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

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

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

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

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

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

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

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

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

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

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

Der Operator this. Wir betrachten nochmals die Klassendefinition von Ballon.

Der Operator this. Wir betrachten nochmals die Klassendefinition von Ballon. Der Operator this Wir betrachten nochmals die Klassendefinition von Ballon. public class Ballon { private int durchmesser; private int x1, y1; private Color farbe =Color.black; // Konstruktor ohne Farbe

Mehr

Kapitel 3 Das Projekt Bankkonto Seite 1

Kapitel 3 Das Projekt Bankkonto Seite 1 Kapitel 3 Das Projekt Bankkonto Seite 1 3 Das Projekt Bankkonto Nun wirst du dich etwas gründlicher mit dem Quelltext einer Klasse beschäftigen. Du lernst, wie zwei Objekte eine gemeinsame Aufgabe erledigen.

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

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

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

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

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

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

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

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

Ü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

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

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

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

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

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

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

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

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Kapitel 3 Die erste Klasse selbst erstellen: MAMPFI

Kapitel 3 Die erste Klasse selbst erstellen: MAMPFI Kapitel 3 Die erste Klasse selbst erstellen: MAMPFI Seite 1 / 12 Kapitel 3 Die erste Klasse selbst erstellen: MAMPFI Lernziele: Eine Klasse in Java erstellen: Attribute, Datentypen, Konstruktor, Referenzattribute,

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

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

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

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

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

1. Der Einstieg in Java. Was heißt Programmieren?

1. Der Einstieg in Java. Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

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

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,

Mehr

Starte Greenfoot und öffne das Szenario krabbe1. Es erscheint das Hauptfenster von Greenfoot mit dem geöffneten Szenario.

Starte Greenfoot und öffne das Szenario krabbe1. Es erscheint das Hauptfenster von Greenfoot mit dem geöffneten Szenario. Kapitel 1 Kleine Krabbe Seite 1 1. Kleine Krabbe Starte Greenfoot und öffne das Szenario krabbe1. Es erscheint das Hauptfenster von Greenfoot mit dem geöffneten Szenario. Das Hauptfenster besteht aus drei

Mehr

Objective-C CheatSheet

Objective-C CheatSheet App-Templates: Erstellt automatisch einen Navigation Controller mit editierbarem UITableView und DetailView, der bei Klick auf einzelne UITableViewCell angezeigt wird. Kreiert einen GLKitViewController

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

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

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

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

Programmiertechnik Klassenmethoden

Programmiertechnik Klassenmethoden Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Programm zur Berechung von public class Eval1 { public static void main(string[] args) { java.util.scanner

Mehr

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

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

Objekte und Klassen. Objekte, Klassen, Felder und Methoden, Ergebnistyp, Parameter, Signatur, Kommentare, Javadoc

Objekte und Klassen. Objekte, Klassen, Felder und Methoden, Ergebnistyp, Parameter, Signatur, Kommentare, Javadoc Objekte und Klassen Objekte, Klassen, Felder und Methoden, Ergebnistyp, Parameter, Signatur, Kommentare, Javadoc Algorithmen Algorithmen sind Handlungsanweisungen beispielsweise um ein Essen zu kochen

Mehr

GetName(), GetName(), GetGeschlecht() und AelterWerden().

GetName(), GetName(), GetGeschlecht() und AelterWerden(). 11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer

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

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata: Informatik mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da aber

Mehr

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ Arbeiten mit BlueJ Compilieren, Editieren, Objekte erzeugen, Methoden aufrufen, Objekte inspizieren, vorhandene Klassen benutzen, eigene Klassen und Methoden erstellen In BlueJ geht es einfach BlueJ durch

Mehr

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Arbeiten mit JavaKara

Arbeiten mit JavaKara Arbeiten mit JavaKara 1. Programmierumgebung Möchte man ein neues Programm erstellen, so wird einem ein Programmeditor zur Verfügung gestellt, der bereits eine vorgefertigte Schablone darstellt. In der

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

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)

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

Programmieren Tutorium

Programmieren Tutorium Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,

Mehr

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Themen Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Statische Methoden Klassenmethoden Merkmal der Klasse nicht eines einzelnen Objekts

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 1. Aufgabe (Spielen mit Objekten) Gegeben sei der auch von der Veranstaltungsseite erhältliche Programmcode auf der rechten Seite, der im Detail zuerst nicht verstanden werden muss. a) Erzeugen Sie sich

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

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

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

C++ - Einführung in die Programmiersprache Objektorientierte Programmierung

C++ - Einführung in die Programmiersprache Objektorientierte Programmierung C++ - Einführung in die Programmiersprache Objektorientierte Programmierung hat Kanten hat eine Farbe hat eine Kantenfarbe Rechteck zeichnen Rechteck einfärben Rechteck drehen Modulare Programmierung Projekt

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

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

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte) Praktische Informatik (Software) Vorlesung Softwareentwicklung 1 Prof. Dr. A. Ferscha Hauptklausur am 01. 02. 2001 Zuname Vorname Matr. Nr. Stud. Kennz. Sitzplatz HS / / / Punkte Note korr. Fügen Sie fehlende

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!

Mehr

1. Der Einstieg in Java

1. Der Einstieg in Java 1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

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

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

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

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

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das

Mehr

Überschreiben von Methoden

Überschreiben von Methoden Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Objektorientierte Programmierung OOP Programmieren mit Java 5.1 Elementare Anweisungen 5.1.1 Ausdrucksanweisung 5.1.2 Leere Anweisung 5.1.3 Blockanweisung 5.1.4 Variablendeklaration 5.2 Bedingungen 5.2.1

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

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