Informatik II Prüfungsvorbereitungskurs
|
|
|
- Bernt Maus
- vor 9 Jahren
- Abrufe
Transkript
1 Informatik II Prüfungsvorbereitungskurs Tag 2, Giuseppe Accaputo 1
2 Themenübersicht 20.3: Java 21.3: Objektorientierte Programmierung 22.3: Dynamische Datenstrukturen 23.3: Datenbanksysteme 2
3 Programm für heute Repetition von gestrigen Themen Klassen und Objekte Instanzvariablen und -methoden Klassenvariablen und -methoden Speicherallokation Vererbung Polymorphie Abstrakte Klassen 3
4 Feedback Gibt es Feedback zur gestrigen Vorlesung? 4
5 Repetition: Java 5
6 Prüfung Aufgabe 1b Was wird auf der Konsole ausgegeben? 6
7 Prüfung Aufgabe 1a Nur Pass-By-Value Teil Whiteboard 7
8 Aufgabe Zeichenkettenvergleiche String w = "Hello"; String x = "Hello"; String y = x; String z = "Helo"; Was ist das Ergebnis?!y.Equals(z) w == x x == y 8
9 Lösung Zeichenkettenvergleiche String w = "Hello"; String x = "Hello"; String y = x; String z = "Helo"; w x y H e l l o H e l l o!y.equals(z) true w == x false x == y true z H e l o 9
10 Repetition der Flashcards aus der Vorlesung Flashcard 1 (Whiteboard) Flashcard 2 (Whiteboard) Flashcard 3 (Whiteboard) 10
11 Part 2: Objektorientierte Programmierung 11
12 Klassen und Objekte Pascal RECORDs in Pascal sind reine Datenobjekte. Auf ihnen wird mit Prozeduren operiert Wertsemantik: Instanzen werden in place alloziert Java Klassen in Java beherbergen Daten und Code Referenzsemantik: Instanzen müssen mit new alloziert werden Instanzen heissen auch Objekte. 12
13 Java Klassen Java-Programm besteht aus mindestens einer Klasse Java-Programm hat eine Klasse mit main-methode public class BeispielKlasse { public static void main(string[] args) { // Code } } Java Virtual Machine führt main-methode bei Programmstart aus 13
14 Aufbau einer Klasse public class MeineKlasse { public MeineKlasse(){ } private int i; public int seti(int i){ } public static int s; Konstruktor Instanzvariablen Instanzmethoden Klassenvariablen } public static void sets(int es){ } Klassenmethoden 14
15 Konstruktor Spezielle Methoden, die den Namen der Klasse tragen und keinen Rückgabetyp haben Kann Parameter haben und daher auch überladen werden Wird beim Aufruf mit new wie eine Funktion aufgerufen Wird kein passender Konstruktor gefunden, gibt Compiler eine Fehlermeldung aus 15
16 Beispiel: Konstruktor public class MeineKlasse { private int i; public MeineKlasse(){ } } MeineKlasse m1 = new MeineKlasse(); 16
17 Speicherallokation mit new Für die Nutzung von Klassen benötigt man dynamischen Speicher, also Speicher den man explizit anfordern muss Speicherallokation in dyn. Speicher erfolgt mittels new: MeineKlasse m1; MeineKlasse m2 = new MeineKlasse(); m1 m2 null MeineKlasse Objekt 17
18 Beispiel: dynamische Speicherallokation String a = new String("Hallo"); String b = new String ("Welt"); a b "Hallo" "Welt" 18
19 Beispiel: dynamische Speicherallokation String a = new String("Hallo"); String b = new String ("Welt"); System.out.println(a + " " + b); a "Hallo" Konsole: Hallo Welt b "Welt" 19
20 Beispiel: dynamische Speicherallokation String a = new String("Hallo"); String b = new String("Welt"); System.out.println(a + " " + b); b = new String("Leute"); a b "Hallo" "Welt" "Leute" X 20
21 Beispiel: dynamische Speicherallokation String a = new String("Hallo"); String b = new String ("Welt"); System.out.println(a + " " + b); b = new String("Leute"); System.out.println(a + " " + b); Konsole: Hallo Leute a b "Hallo" "Welt" "Leute" X 21
22 Überladene Funktion Möglich, mehrere Methoden des gleichen Namens zu definieren Unterscheidung erfolgt über Signatur einer Methode, welche durch Art, Anzahl und Reihenfolge der Argumente bestimmt ist: static int func(int x){} static long func(double x){} Compiler wählt automatisch Funktion aus, welche am besten passt 22
23 Beispiel: Quadrat einer Zahl berechnen static int sq(int x){ } static double sq(double x){ } static Complex sq(complex x){ } 23
24 Beispiel: Überladener Konstruktor public class MeineKlasse { private int i; public MeineKlasse(){ } public MeineKlasse(int i){ this.i = i } } MeineKlasse m1 = new MeineKlasse(); MeineKlasse m2 = new MeineKlasse(10); 24
25 Instanzen einer Klasse MeineKlasse m1 = new MeineKlasse(); MeineKlasse m2 = new MeineKlasse(10); m1, m2 sind Instanzen der Klasse MeineKlasse und werden mittels new-operator instanziert 25
26 Instanzen einer Klasse MeineKlasse m1 = new MeineKlasse(); MeineKlasse m2 = new MeineKlasse(10); Instanz m1 Instanzmethoden Instanzvariablen Instanz m2 Instanzmethoden Jede Instanz hat eigene Kopie von Instanzmethoden und -variablen Ändert Instanz Wert der eigenen Instanzvariablen, so ist die Änderung nur für die Instanz geltend Instanzvariablen 26
27 Aufgabe Instanzvariablen ändern Was wird auf der Konsole ausgegeben? public class InstVar { public int a = 10; } InstVar s1 = new InstVar(); InstVar s2 = new InstVar(); s2.a = 100; System.out.println(s1.a); 27
28 Lösung Instanzvariablen ändern public class InstVar { Konsole: public int a = 10; 10 } InstVar s1 = new InstVar(); InstVar s2 = new InstVar(); s2.a = 100; System.out.println(s1.a); 28
29 Datenkapselung Fundamentales Konzept der objektorientierten Programmierung (Prüfungsrelevant) Wir verbergen interne Daten und Strukturen vor dem Zugriff von aussen Wie die Datenfelder (z.b. Instanzvariablen) einer Klasse repräsentiert werden, sollte für den Benutzer nicht sichtbar sein 29
30 Klasse ohne Datenkapselung public class BspKaps { public int a; public double b; } Fehlende Datenkapselung: Benutzer können direkt auf die Variablen zugreifen (public) 30
31 Klasse mit Datenkapselung public class BspKaps { private int a; public int geta() { return a; } public void seta(int a) { this.a = a; } } private double b; public double getb() { return b; } public void setb(double b) { this.b = b; } Datenkapselung: Getter und Setter Methoden werden verwendet, um Zugriffe auf die Variablen zu kontrollieren 31
32 Prüfung Aufgabe 2 Whiteboard 32
33 Beispiel Datenkapselung bei Schloss public class Schloss { public int code = 10; } IST: SOLL: jedermann kann Code vom Schloss ändern, da Instanzvariable public ist Nur wer das Masterpasswort hat, darf Schloss- Code ändern 33
34 Beispiel Datenkapselung bei Schloss class Schloss { private int code = 10; private String mpw = "jl1923ikx"; public void setcode(int code, String pw){ if(pw.equals(mpw)) this.code = code; else System.out.println("Falsches PW"); } } 34
35 Modifizierer für Datenkapselung Klasse Paket Sub-Klasse Global public protected x (keiner) x x private x x x Klasse: Zugriff innerhalb Klasse, z.b. Methode auf Variable Paket: Zugriff zwischen Klassen innerhalb des gleichen Pakets Sub-Klasse: Zugriff von Sub-Klasse auf Basisklasse 35
36 Aufgabe Instanzvariablen ändern Kompiliert dieser Code? public class InstVar2{ public int a = 10; private double b = 1.12; } InstVar2 k1 = new InstVar2(); k1.a = (int) ; k1.b = (int)4.412; 36
37 Lösung Instanzvariablen ändern Kompilierfehler: The field b is not visible public class InstVar2{ public int a = 10; private double b = 1.12; } InstVar2 k1 = new InstVar2(); k1.a = (int) ; k1.b = (int)4.412; // Fehler! 37
38 Klassenvariablen und Klassenmethoden Klassenvariablen und Klassenmethoden sind über alle Instanzen verfügbar (sofern Zugriff gewährleistet) MeineKlasse Klassenvariablen (static) Klassenmethoden (static) Instanz 1 Instanzmethoden Instanzvariablen Instanz 2 Instanzmethoden Instanzvariablen Instanz 3 Instanzmethoden Instanzvariablen
39 Zugriff auf Klassenvariablen und -methoden public class KlassVar { public int i = 1; public static int s = 2; } KlassVar a = new KlassVar(); Zugriff auf Klassenvariablen und -methoden über Instanz oder Klassennamen möglich a.s = 100; KlassVar.s = 100; 39
40 Aufgabe Klassenvariablen ändern Was wird auf der Konsole ausgegeben? public class KlassVar { public int i = 1; public static int s = 2; } KlassVar a = new KlassVar(); KlassVar b = new KlassVar(); a.s = 100; b.s += 10; b.i -= 10; a.s -= 100; System.out.println(b.i); System.out.println(b.s); 40
41 Lösung: Klassenvariablen ändern public class KlassVar { public int i = 1; public static int s = 2; } KlassVar a = new KlassVar(); KlassVar b = new KlassVar(); a.s = 100; b.s += 10; b.i -= 10; a.s -= 100; System.out.println(b.i); System.out.println(b.s); Konsole:
42 Zugriffsregeln zwischen Variablen und Methoden einer Klasse 1. Instanzmethoden können auf Instanzmethoden und Instanzvariablen direkt zugreifen 2. Instanzmethoden können auf Klassenmethoden und Klassenvariablen direkt zugreifen 3. Klassenmethoden können auf Klassenmethoden und Klassenvariablen direkt zugreifen 4. Klassenmethoden können nicht direkt auf Instanzmethoden und Instanzvariablen zugreifen 42
43 Vererbung Weiteres fundamentales Konzept der objektorientierten Programmierung (Prüfungsrelevant) Ziel: aufbauend auf existierenden Klassen neue zu schaffen, wobei Beziehung zwischen den Klassen dauerhaft ist Geometrische Figuren: Rechteck, Kreis, Dreieck, etc. Gemeinsame Eigenschaften: Randfarbe, Füllfarbe, etc. Gemeinsame Operationen: Füllen, Zeichnen, etc. Unterschiede: Repräsentation, Flächenberechnung, etc. 43
44 Vererbung: Klassendiagramm Vererbung als Klassendiagramm dargestellt (Wikipedia) Vererbende Klasse wird meist Basisklasse genannt Erbende Klasse wird meist abgeleitete Klasse genannt 44
45 Vererbung: Klassendiagramm Abgeleitete Klasse und Basisklasse stehen in einer «ist-ein»-beziehung untereinander Basisklasse: Tier Abgeleitete Klasse: Hund Hund «ist-ein» Tier Gemeinsame Eigenschaften und Operationen können also zusammengefasst werden 45
46 Vererbung: Nomenklatur class A{ } class B extends A{ } class C extends B{ } A B C Basisklasse (Superklasse) Abgeleitete Klasse (Subklasse) «B und C erben von A» «C erbt von B» 46
47 Aufgabe Klassendiagramm Zeichne ein passendes Klassendiagramm bestehend aus den folgenden Klassen: oauto okawasaki omotorrad oferrari 360 olamborghini Aventador ofahrzeug otransportmittel oflugzeug oboeing 777 oairbus A380 47
48 Vererbung: Kompatibilität Abgeleitetes Objekt kann überall dort verwendet werden, wo ein Basisobjekt gefordert ist, aber nicht umgekehrt Im folgenden darf K entweder A sein (da gleicher Typ) oder eine davon abgeleitete Klasse (B oder C): A a = new K(); 48
49 Aufgabe Kompatibilität Kompiliert der Code rechts? class A{ } class B extends A{ } class C extends B{ } B b = new B(); A a = b; C c = new B(); B b1 = new C(); B b2 = c; 49
50 Lösung Kompatibilität Kompilierfehler: kann nicht von B nach C konvertieren! class A{ } class B extends A{ } class C extends B{ } C «ist-ein» B, jedoch ist B kein C! B b = new B(); A a = b; C c = new B(); B b1 = new C(); B b2 = c; 50
51 Vererbung: Sichtbarkeit In der abgeleiteten Klasse können Variablen und Methoden der Basisklasse direkt verwendet werden Voraussetzung: Sichtbarkeit gewährleistet! 51
52 Modifizierer bei Vererbung Klasse Paket Sub-Klasse Global public protected x (keiner) x x private x x x 52
53 Prüfung Aufgabe 3b Whiteboard 53
54 Polymorphie Weiteres fundamentales Konzept der objektorientierten Programmierung (Prüfungsrelevant) Polymorphie in Java: Deklariert man eine (nicht statische) Methode mit gleichem Namen und gleicher Signatur in abgeleiteten Klassen und in der gemeinsamen Basisklasse, so wird zur Laufzeit automatisch über die auszuführende Variante entschieden. Man sagt, Methode wird in der abgeleiteten Klasse überschrieben 54
55 Beispiel Polymorphie class A{ public void echo(){ } } class B extends A{ public void echo(){ } } class C extends B{ public void echo(){ } echo-methode wird von den Klassen B und C überschrieben Die echo- Methoden geben jeweils den Namen der Klasse aus } 55
56 Polymorphie in Java Bei überschriebenen (nicht statischen) Methoden wird der dynamische Typ gewählt («dynamic dispatching») B b = new C(); Statischer Typ Dynamischer Typ 56
57 Aufgabe Polymorphie in Java Was wird auf der Konsole ausgegeben? A u = new B(); B v = new C(); A w = new C(); u.echo(); v.echo(); w.echo(); 57
58 Lösung Polymorphie in Java A u = new B(); B v = new C(); A w = new C(); u.echo(); v.echo(); w.echo(); Konsole: B C C 58
59 Prüfung Aufgabe 4 Whiteboard 59
60 Abstrakte Klassen Meine Abstrakte Übungsslides Klassen sind spezielle Klassen, welche nicht instanziert werden können Abstrakte Klassen können Methoden implementieren Abstrakte Klassen können Konstruktoren definieren Innerhalb von abstrakten Klassen können abstrakte Methoden deklariert werden Sobald eine abstrakte Methode deklariert wird, muss die ganze Klasse als abstrakt markiert werden 60
61 Abstrakte Methoden Abstrakte Methoden sind Methoden, welche in einer abstrakten Basisklasse definiert, jedoch erst in der vererbenden Klasse implementiert werden abstract class Beispiel{ abstract public double run(); } 61
Informatik II Übung, Woche 17
Giuseppe Accaputo 28. April, 2016 1. Vererbung 2. Vorbesprechung Übung 8 Plan für heute 3. Erweiterung des Vorlesungsverzeichnis (VVZ) (Live-Programmierung) Informatik II (D-BAUG) Giuseppe Accaputo 2 Vererbung
Programmieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
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
Einstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
Objektorientierte Programmierung und Klassen
Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP
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
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
Vererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch
Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine
Implementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
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
FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung
275 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Klassen (Java) vs. Records (Pascal) 276 Pascal RECORDs in Pascal sind
Vererbung und Polymorphie
page1 Vererbung und Polymorphie Florian Adamsky, B Sc florianadamsky@iemthmde http://florianadamskyit/ cbd So wareentwicklung im SS 2014 page2 Outline 1 Ein ührung 2 Vererbung Formen der Vererbung 3 Polymorphie
Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
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)
Programmierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
Javakurs für Anfänger
Javakurs für Anfänger Einheit 08: Mehr zu Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Wiederholung Heutige Agenda Verwendung der ArrayList 2. Teil: Weitere Aspekte der OO
Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
Geschachtelte Klassen
Geschachtelte Klassen Christian Schamott 1 / 26 Übersicht Gemeinsamkeiten 4 Arten geschachtelte Klassen Elementklasse Lokale Klassen Anonyme Klassen Statisch geschachtelte Klassen Christian Schamott 2
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
Vererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
Algorithmen und Datenstrukturen 07
(7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik
Grundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
Abstrakte Klassen und Interfaces
Abstrakte Klassen und Interfaces Thomas Schwotzer 1 Einführung Wir haben uns mit Vererbung und Polymorphie beschäftigt. Klassen sind so in der Lage, ableitenden Klassen Zugriff auf Member und Methoden
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:
Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
Programmieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
Polymorphie und UML Klassendiagramme
Polymorphie und UML Klassendiagramme Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Vererbung hat einen sehr interessanten und effektiven Effekt: die Polymorphie. Darum geht es in dieser Veranstaltung. 2
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
Propädeutikum Programmierung in der Bioinformatik
Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen
7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
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
Java Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
Javakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
14. Java Objektorientierung. Klassen, Vererbung, Kapselung
427 14. Java Objektorientierung Klassen, Vererbung, Kapselung Objektorientierung: Verschiedene Aspekte 428 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen
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
Programmiertechnik Objektorientierung
Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche
Praxis der Programmierung
Klassenvariablen und -methoden, Vererbung Institut für Informatik und Computational Science Henning Bordihn 1 Klassenvariablen und -methoden 2 Klassenvariablen und -methoden werden mit dem Schlüsselwort
Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung
Objektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
Algorithmen und Datenstrukturen 06
31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung
Programmierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
Informatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 1, 20.6.2016 Giuseppe Accaputo [email protected] 1 Über mich Giuseppe Accaputo 3. Semester RW/CSE Master E-Mail: [email protected] Homepage: http://accaputo.ch Informatik
Klassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object
Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen
C++ - Objektorientierte Programmierung Polymorphie
C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie
Javakurs für Anfänger
Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.
Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe http://www.zitate-online.de/autor/goethe-johann-wolfgang-von/ http://www.weimar-lese.de/files_weimar_lese/johann_wolfgang_von_goethe_bearbeitet_von_andreas_werner.jpg
7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung
Teil 2: OOP und JAVA (Vorlesung 11)
Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil
OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
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,
FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces
10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:
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
Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz
Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.
Tag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
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
Einstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
Fragen zur OOP in Java
- 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...
Klassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
5 Vererbung. Subklassen, Superklassen, Pakete Zugriffsrechte
5 Vererbung Subklassen, Superklassen, Pakete Zugriffsrechte Wiederverwendung von Code Konventionelle Methode: Wähle einen Quelltext, der ein ähnliches Problem bearbeitet und passe diesen Text auf das neue
Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen
Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen
Programmieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
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,
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
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
Erste Java-Programme (Java Wiederholung & Vererbung)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Java Wiederholung & ) Tutorium Bioinformatik (WS 18/19) Konstantin: [email protected] Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
Grundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
