Java Schulung. Objektorientierte Programmierung in Java Teil III: Java Klassen und Objekte. Prof. Dr. Nikolaus Wulff
|
|
- Nora Becke
- vor 6 Jahren
- Abrufe
Transkript
1 Java Schulung Objektorientierte Programmierung in Java Teil III: Java Klassen und Objekte Prof. Dr. Nikolaus Wulff
2 Referenzvariablen Referenzvariablen verweisen auf (unbenannte) Objekte im Speicher. Uninitialisierte Variablen enthalten eine Null-Referenz (null). a Objekt Point a,b; a b null Objekte werden zur Laufzeit erzeugt. new Point(0,0); a = new Point(1,2); Objekte sind anonym. a :Point 0 0 a:point 1 2 Sie haben eine unveränderliche Identität. Prof. Dr. Nikolaus Wulff 2
3 Binden von Referenzvariablen Beim Zuweisen eines Objektes auf eine Variable wird eine Referenz zugewiesen: a = new Point(0,0); b = new Point(3,4); Beim Zuweisen von Referenzvariablen aufeinander werden nur die Referenzen kopiert, nicht die Objekte: a = b; Vorsicht! Das Objekt kann jetzt über zwei Pfade geändert werden: a.set(5,6); b.set(20,30); a b a b Prof. Dr. Nikolaus Wulff 3
4 Vergleichen von Objekten Beim Vergleichen zweier Referenzvariablen werden die Referenzen verglichen, nicht die referenzierten Objekte. Es wird also auf Objektidentität, nicht auf Inhaltsgleichheit geprüft. == (shallow equality) a b c d a == b a!= c d == null Prof. Dr. Nikolaus Wulff 4
5 Inhaltsvergleich Der Inhalt von zwei Objekten wird durch die Methode equals verglichen. equals (deep equality) new Integer(1)!= new Integer(1) new Integer(1).equals(new Integer(1)) Bei selbstdefinierten Klassen vergleicht equals (geerbt von Object) per Default auch nur die Objektidentiät, d.h. verwendet shallow equality. Die Methode equals muss selbst neu überladen werden, damit sie die gewünschte Funktionalität bietet. Prof. Dr. Nikolaus Wulff 5
6 Eine Klasse class Cell { private int value = 0; void setvalue(int newvalue){ this.value = newvalue; int getvalue( ) { return this.value;... Attribut Methoden Klassendefinition Prof. Dr. Nikolaus Wulff 6
7 Bestandteile einer Klasse Einleitung einer Klasse durch Schlüsselwort class: class EineKlasse { /* Klassenrumpf */ Erzeugung eines Objektes mit new: EineKlasse a = new EineKlasse(); Attribute: class Datengrab { int i; float f; boolean b; Jede Instanz (jedes Objekt) der Klasse Datengrab bekommt eine eigene Kopie der Attribute. Prof. Dr. Nikolaus Wulff 7
8 Methoden Methoden: Verhalten eines Objekts Inspizieren und ändern den Zustand eines Objekts. Berechnen von Rückgabewerten. Anstoßen von weiteren Methoden über das Senden von Nachrichten an andere Objekte. In anderen Sprachen: Funktionen oder Prozeduren. Nur innerhalb von Klassen (keine Methode ohne Klasse!). Aufruf einer Methode = Senden einer Nachricht: int x = a.f(); rufe Methode f von Objekt a bzw. sende Nachricht f an Objekt a Prof. Dr. Nikolaus Wulff 8
9 Organisatorisches Hands on Tutorien jeweils Mittwochs Uhr im Lab4Inf D117 mit Rene Brüggemann. Praktikumverschiebung Informatiker Donnerstags von auf Uhr Pool 3. Prof. Dr. Nikolaus Wulff 9
10 Parameterliste Die Parameterliste spezifiziert die Typen der Objekte, die als Argumente an die Methode übergeben werden können. Jedes Objekt (Parameter) erhält einen lokalen Namen, über den innerhalb der Methode auf das Objekt zugegriffen werden kann. Typ Name void reset(cell c) { c.setvalue(0); Beachte: Es werden nicht die Objekte (Kopien), sondern Referenzen auf die Objekte übergeben! Cell acel1 = new Cell(); acel1.setvalue(4); reset(acel1); acel1.getvalue(); ==> 0 Prof. Dr. Nikolaus Wulff 10
11 Rückgabewerte Methoden können Werte bzw. Objektreferenzen zurückliefern: Rückgabetyp Integer berechne(int a, int b) { int sum = a + b; return new Integer(sum); Rückgabe Mit return wird die Methode sofort verlassen - auch wenn noch Befehle dahinter folgen! Methoden ohne Rückgabe haben den Rückgabetyp void: void print(int a, int b) { System.out.println("a + b = " + (a + b)); Prof. Dr. Nikolaus Wulff 11
12 Methodenrumpf Variablendeklarationen und -zuweisungen. void berechne(int a, int b) { int i; Deklaration i = a * b; Zuweisung Beachte: Lokale Variablen müssen initialisiert werden! void berechne() { int i; i++; Compile-Fehler! Prof. Dr. Nikolaus Wulff 12
13 Statische Attribute und Methoden Attribute und Methoden, die nicht für einzelne Objekte, sondern für die ganze Klasse definiert sind. D.h., jedes Attribut kommt nur einmal pro Klasse vor! class Person { static int erzeugtepersonen = 0; static void printstatistik() { System.out.println("Erzeugt: " + erzeugtepersonen); Statische Attribute und Methoden können genutzt werden, ohne Objekte zu erzeugen. Der Zugriff erfolgt über den Klassennamen: Person.printStatistik(); Person.erzeugtePersonen++; Vergleiche: System.out.println(...); main Prof. Dr. Nikolaus Wulff 13
14 Statische Attribute class Person { static int erzeugtepersonen = 0; String name; Person erzeugtepersonen = 0 Klasse mit statischen Attribut das Objekt kennt seine Klasse peter class name = Peter mary class name = Mary Objekte mit Attributen Prof. Dr. Nikolaus Wulff 14
15 Konstanten Konstanten = finale Werte von Basisdatentypen Konstanten zur Übersetzungszeit werden vom Compiler ausgewertet: final int ANZAHL_MONATE = 12; Konstanten zur Laufzeit sind nach der Initialisierung unveränderlich: final int ZUFALL = (int)(math.random() * 20); final static: nur ein Wert pro Klasse, der seinen Wert nach dem ersten Laden der Klasse nicht mehr ändert. finale Referenzen: können nicht mehr an andere Objekte gebunden werden final Integer NULL = new Integer(0); Prof. Dr. Nikolaus Wulff 15
16 this und super Auf das aktuelle Objekt, auf dem die Methode ausgeführt wird (an das die Nachricht gesendet wurde), kann über das Schlüsselwort this zugegriffen werden. Auf das direkte Elternobjekt kann innerhalb einer Methode mit super zugegriffen werden. Prof. Dr. Nikolaus Wulff 16
17 Überladen von Methoden Eine Nachricht mit mehreren Signaturen und Methodenimplementationen. class SuperWasher { void wash(shirt s) {... void wash(car c) {... void wash(dog d) { SuperWasher sw = new SuperWasher(); Dog adog = new Dog(); sw.wash(adog); Die Methode wird (statisch) beim Senden der Nachricht anhand der Parameter ausgewählt. Prof. Dr. Nikolaus Wulff 17
18 Kein Überladen bei Rückgabewerten Folgende überladene Methoden unterscheiden sich nur im Rückgabewert: void washall() {... int washall() {... Das geht nicht, denn der Compiler kann für diesen Aufruf nicht bestimmen, welche Methode zu verwenden ist: washall(); Prof. Dr. Nikolaus Wulff 18
19 Default-Konstruktor Konstruktoren dienen zur Erzeugung und Initialisierung von Objekten einer Klasse. Wenn kein Konstruktor angegeben wird, ist implizit ein Default-Konstruktor (ohne Parameter) definiert. class Bird { String name; Bird nc = new Bird(); class Bird { String name; Bird() { super(); Aufruf der Konstruktors der Superklasse Prof. Dr. Nikolaus Wulff 19
20 Konstruktordefinition Konstruktoren können überladen werden und Parameter erhalten, z.b. zur Initialisierung von Attributen: class Worker extends Person { String name; Worker() { Aufruf des Super-Konstruktors ist optional super(); (erfolgt sonst automatisch vom Compiler) name = "Noname"; System.out.println("Erzeuge Noname"); ; Worker(String name) { super(); this.name = name; System.out.println("Erzeuge " + name); Worker noname = new Worker(); Worker peter = new Worker("Peter"); Prof. Dr. Nikolaus Wulff 20
21 Konstruktorverkettung Konstruktoren können sich gegenseitig aufrufen: class Person {... Person(String name, int alter) { this(name);... Konstruktor dieser Klasse mit Parameter String aufrufen Konstruktoren können Konstruktoren der Superklasse aufrufen: class Mitglied extends Person {... Mitglied(String name, int tarifgruppe) { super(name);... Konstruktor der Superklasse mit Parameter String aufrufen Prof. Dr. Nikolaus Wulff 21
22 Konstruktoraufrufe Beim Erzeugen eines Objektes einer Subklasse wird automatisch der Default- Konstruktor der Superklasse aufgerufen. class Person { Person() { System.out.println(" Person"); class Angestellter extends Person { Angestellter() { System.out.println(" Angestellter"); Angestellter peter = new Angestellter(); Ausgabe: Person Angestellter Prof. Dr. Nikolaus Wulff 22
23 Konstruktor mit Argumenten Ein Konstruktor der Superklasse mit Argumenten muss als erstes im Konstruktor explizit (über super) aufgerufen werden. class Person { Person(String name) { System.out.println(" Person " + name); class Angestellter extends Person { Angestellter(String name) { super(name); System.out.println(" Angestellter " + name); Prof. Dr. Nikolaus Wulff 23
24 Initialisierungsreihenfolge class Test { Person p1 = new Person(); Person p2; // null 3: per Objekt: Attribute initialisieren static int zaehler; // 0 Test() { p2 = new Person(); 1: per Klasse: Attribute initialisieren 4: per Objekt: Konstruktor ausführen static { zaehler = 9; 2: per Klasse: Init-Code ausführen Prof. Dr. Nikolaus Wulff 24
25 Arrays Arrays sind Objekte. Bei der Deklaration wird keine Größe angegeben, da nur die Referenz abgelegt wird: int a[]; int[] a; Einfache Arrays können direkt erzeugt und initialisiert werden: int [] a = { 1, 2, 3, 4, 5 ; Beim Zugriff auf ein Array wird der Index auf Überschreitung der Array-Größe geprüft: int x = a[3]; int x = a[567]; ArrayIndexOutOfBounds Die Länge des Arrays kann abgefragt werden: a.length Prof. Dr. Nikolaus Wulff 25
26 Arrays von Objekten Arrays von Objekten werden so erzeugt und initialisiert: Person[] a = new Person[20]; for(int i = 0; i < a.length; i++) { a[i] = new Person("Person Nummer " + i); Wie bei einfachen Arrays kann direkt initialisiert werden: Integer[] a = { new Integer(1), new Integer(2), new Integer(3), ; Prof. Dr. Nikolaus Wulff 26
27 Mehrdimensionale Arrays Mehrdimensionale Arrays werden so deklariert: int[] a[]; int[][] a; Die Initialisierung kann auch hier direkt erfolgen: int[][] a = { { 1, 2, 3, { 5, 6 ; Prof. Dr. Nikolaus Wulff 27
28 Zeichenketten Zeichenketten sind unveränderliche Objekte der Klasse String. String-Literale werden durch eingefasst. String-Literale werden automatisch in String-Objekte umgewandelt. Zeichenketten können auch durch Aufruf eines Konstruktors der Klasse String erzeugt werden. String c = "abc"; Außerdem erzeugen viele Methoden Zeichenketten: String c = new String("abc"); Integer i = new Integer(789); String c = i.tostring(); Prof. Dr. Nikolaus Wulff 28
29 Verkettung von Zeichenketten Zeichenketten können durch den Operator + verkettet werden: String c = "Hello " + "World"; Die Verkettung erzeugt ein neues String-Objekt. Werte von Basisdatentypen oder Objekte von Klassen können auch mit Strings verkettet werden. String n = "Die Antwort lautet " + 42; Sie werden dann implizit in Strings umgewandelt, bei Objekten durch den Aufruf der Methode tostring (definiert in der Klasse Object). Prof. Dr. Nikolaus Wulff 29
30 Sichtbarkeitsbereiche Blockstrukturierte Sichtbarkeitsbereiche: Lokale Variablen sind nach dem Schließen des Blocks nicht mehr sichtbar. { // <-- Anfang Scope 1 int x; x = 12; // Nur x ist sichtbar, q gibt es noch nicht { // <-- Anfang Scope 2 int q = 96; x = q + x; // x kann nicht neu definiert werden! // x und q sind verfügbar. // <-- Ende Scope 2 // Nur x ist noch sichtbar // Auf q kann nicht mehr zugegriffen werden. // <-- Ende Scope 1 Prof. Dr. Nikolaus Wulff 30
31 Sichtbarkeitsbereiche Gleichnahminge lokale Variablen und Member Variablen der Klasse müssen per this referenziert werden. class Foo { private int x = 2; // Scope 0 der Membervariablen public void bar() { // <-- Anfang Scope 1 int x; x = 12; // Nur x ist sichtbar, q gibt es noch nicht { // <-- Anfang Scope 2 int q = 96; x = q + x; // x kann nicht neu definiert werden! // x und q sind verfügbar. // <-- Ende Scope 2 // Nur x ist noch sichtbar // Auf q kann nicht mehr zugegriffen werden. this.x = x; // jetzt wird Membervariable x gesetzt // <-- Ende Scope 1 der Methode bar... Prof. Dr. Nikolaus Wulff 31
32 Bedingter Ausdruck Verzweigung, die zu einem Wert evaluiert. int a, b;... b = (a >= 0)? a : -a; Bedingung then else Wird häufig in Projekten verboten, da "schwer zu lesen". Aquivalent ist eine if - else Verzweigung: if (a >= 0) { b = a; else { b = -a; Prof. Dr. Nikolaus Wulff 32
33 Freispeicherverwaltung Java-Objekte werden dynamisch mit new angelegt. Sie werden nie explizit gelöscht oder freigegeben. Die Java-Maschine schaut regelmäßig (oder nach Aufforderung) nach, welche Objekte nicht mehr erreichbar sind (garbage collection) und gibt diese frei. Vor der Freigabe wird bei jedem Objekt die Methode finalize aufgerufen. Prof. Dr. Nikolaus Wulff 33
34 Freispeicherverwaltung (2) Die virtuelle Maschine prüft, ob ein Objekt noch von Außen, d.h. ausgehend von der main Methode noch erreichbar ist. Ausgangspunkt main Speicher der Java Maschine X X Müll X X Prof. Dr. Nikolaus Wulff 34
35 Wiederverwendung Vier Alternativen der Wiederverwendung: Schreibe die Klasse komplett selber (keine echte Wiederverwendung). Kaufe die fertige Klasse und nutze sie so (volle Wiederverwendung). Benutze eine vorhandene Klasse und binde sie in einer Komposition in Deine Klasse ein. Benutze eine vorhandene Klasse, indem Deine Klasse von ihr erbt und bestimmte Attribute/Methoden ergänzt oder überschreibt. Dies gilt sowohl für einzelne Klassen als auch für Rahmenwerke (Frameworks) und Bibliotheken. Prof. Dr. Nikolaus Wulff 35
36 Komposition vs. Vererbung Auto Reifen[] Shape draw() erase() Fenster[] Tuer[] Motor Circle draw() erase() Square draw() erase() Line draw() erase() Komposition: hat ein besteht aus Vererbung: ist ein verschiedene Objekte/Klasse haben gemeinsame Eigenschaften Prof. Dr. Nikolaus Wulff 36
37 Komposition MeineKlasse Vorhandene Klasse Vorhandene Klasse Vorhandene Klasse Vorhandene Klasse... class Auto { Motor motor = new Motor(100); Reifen[] reifen = new Reifen[4];... Ein komponiertes (aggregiertes) Objekt hat Objekte vorhandenener Klassen als Attribute. hat ein oder besteht aus Flexibilität: Die Objekte können zur Laufzeit ausgewechselt werden. Die Komponenten werden meist im Konstruktor übergeben oder erzeugt. Prof. Dr. Nikolaus Wulff 37
38 Vererbung: Motivation class Person{ String name; String vorname; int alter; String getname(){... String getid(){... class Angestellter { String name; String vorname; int alter; int uid; String getname(){... String getid(){... class Mitglied { String name; String vorname; int alter; int tarifgruppe;... String getname(){... String getid(){... int gettarif(){... Subklasse Mitglied tarifgruppe gettarif() Person name... getname() getid() Angestellter uid getid() Superklasse Prof. Dr. Nikolaus Wulff 38
39 Vererbung: Semantik Ist ein Person name vorname alter Die Attribute und Methoden aus der Superklasse sind automatisch auch in der Subklasse vorhanden. getname() getid() Mitglied tarifgruppe gettarif() Angestellter uid getid() Ererbte Methoden können in der Subklasse redefiniert werden, z.b. um eine andere Id zu implementieren (Uxxxxxx). Prof. Dr. Nikolaus Wulff 39
40 Vererbung: Syntax class Person { String name; String vorname; int alter; String getname(){... String getid(){... class Mitglied extends Person { int tarifgruppe; neue Attribute hinzufügen String gettarif(){... neue Methoden hinzufügen class Angestellter extends Person { int uid; String getid(){... redefiniert Person.getId() derselbe Methodenname dieselbe Parameterliste derselbe Rückgabetyp Prof. Dr. Nikolaus Wulff 40
41 Komposition vs. Vererbung Ist ein Auto ein Motor? Motor Auto Auto Reifen[] Fenster[] Tuer[] Falsch! Richtig Reifen[] Fenster[] Tuer[] Motor Ein Motor wird gestartet, ein Auto wird gestartet: Ist deshalb ein Auto so etwas wie ein Motor? Generell: Komposition ist flexibler als Vererbung (Laufzeit vs. Übersetzungszeit). Prof. Dr. Nikolaus Wulff 41
42 Verwendung von final Finale Methoden können in Subklassen nicht überschrieben (redefiniert) werden. final void print() {... private Methoden sind implizit final. finale Parameter: Dem Parameter darf innerhalb des Methodenrumpfes kein neuer Wert zugewiesen werden. void print(final int anzahl) {... Von einer finalen Klassen kann keine Subklasse gebildet werden. final class Angestellter {... Prof. Dr. Nikolaus Wulff 42
43 Polymorphismus Substitutierbarkeit: Wann immer ein Objekt der Superklasse erwartet wird (als Parameter, Empfänger einer Nachricht,...), kann ein Objekt einer Subklasse benutzt werden. Beispiel: Wenn eine Person angezeigt werden soll, kann auch ein Mitglied (Angestellter,...) angezeigt werden. a Circle draw() erase() : Shape a Square a Line Prof. Dr. Nikolaus Wulff 43
44 Upcast void moveshape(shape s) {...; s.draw(); Cast nach oben in der Vererbungshierarchie Shape draw() erase() Circle draw() erase() Square draw() erase() Line draw() erase() Referenz auf das Circle-Objekt Shape s = (Shape)new Circle(); // explizit moveshape(new Circle()); // implizit Prof. Dr. Nikolaus Wulff 44
45 Statisches vs. Dynamisches Binden f()... f()... f() Funktion f Aufrufe statisch an die Funktion gebunden zur Übersetzungszeit shape.draw()... shape.draw()... shape.draw() Dynamischer Binde- Mechanismus zur Laufzeit Circle draw() Square draw() Line draw() Prof. Dr. Nikolaus Wulff 45
46 Abstrakte Klassen Abstrakte Klassen können abstrakte Methoden enthalten, d.h. Methoden ohne Methodenrumpf. Andere Methoden und Daten können definiert sein. abstract class ColouredShape { private Colour c; public abstract void draw(); public Colour getcolour() { return c; public abstract void erase(); Abstrakte Methoden Abstrakten Klassen können nicht instanziert werden. Subklassen müssen die abstrakten Methoden implementieren - oder sie sind selber abstrakt. Prof. Dr. Nikolaus Wulff 46
47 Template Pattern In einer abstrakten Klasse können die abstrakten Methoden von anderen Methoden benutzt werden. abstract class PrintTemplate { protected abstract void printheader(); protected abstract void printfooter(); protected abstract void printcontent(); public void print(){ printheader(); printcontent(); printfooter(); Prof. Dr. Nikolaus Wulff 47
48 Innere Klassen Verschachtelte Klasse einer anderen Klasse. class Person { class Adresse { class Person { public String doit(final int i) { class Adresse {... i Der Klassenname ist versteckt. Objekte der inneren Klasse können auf Attribute, Methoden der umgebenden Klasse zugreifen. Wenn eine innere Klasse innerhalb einer Methode definiert wird, kann sie auf die Parameter und lokalen Variablen der Methode zugreifen, wenn diese final sind. Prof. Dr. Nikolaus Wulff 48
49 Anonyme innere Klassen Innere Klassen könne auch anonym sein. Dies wird häufig angewandt bei Schnittstellen. new WindowAdapter(){ public void windowclosing(windowevent e) {... class MyWindowListener extends WindowAdapter { public void windowclosing(windowevent e) {... new MyWindowListener(); Prof. Dr. Nikolaus Wulff 49
50 Schnittstellen Schnittstellen enthalten keine Implementationen, sondern nur Methodensignaturen und Konstanten (statische, finale Attribute). Methodensignatur : = Rückgabetyp + Methodenname + Parameterliste Diese Aussage gilt bis JDK1.7, siehe HPK... interface Shape { Point zero = new Point(0,0); void erase(); void draw(); automatisch static & final automatisch public Eine Schnittstelle kann von einer oder mehreren Schnittstellen erben. interface ColouredShape extends Shape, Colour {... Prof. Dr. Nikolaus Wulff 50
51 Schnittstellen und Implementierung Eine Schnittstelle legt ein Protokoll (verstandene Nachrichten) fest. Eine Klasse kann eine oder mehrere Schnittstellen implementieren. Schnittstellen class Circle implements Shape, Persistent { pivate int radius; public void erase() {... public String draw() { aus Shape... public int getradius(){... Prof. Dr. Nikolaus Wulff 51
52 Übung Erstellen und testen (wie?) Sie den Code für das folgende Klassenmodell: painter + Painter + Paintable (from painter) Painter paintables : Paintable[] drawall() addpaintable() 0..* <<Interface>> Paintable (from painter) draw() Achtung: zwei verschieden Pakete für Painter und alle Shapes! (from sha pes) type : String Shape Shape(type : String) <<abstract>> draw() : void shapes + Shape + Circle + Square + Line Circle (from sha pes) Square (from shapes) Line (from shapes) Prof. Dr. Nikolaus Wulff 52
53 Tip Schreiben Sie eine Main Klasse, die den Painter mit Shapes initialisiert und dann die drawall Methode aufruft. Die draw Methode der Shapes gibt einfach per System.out.println den Typ aus. Die Zeichenobjekte werden in einem Array verwaltet, dieses muss dynamisch wachsen! Verwenden Sie ein temporäres Hilfsarray. (Später lernen Sie Collection Klassen kennen, die uns genau diese Arbeit abnehmen...) Prof. Dr. Nikolaus Wulff 53
54 Übung Erstellen Sie eine Dokumentation der Klassen: %SRC%>javadoc -d../doc * Navigieren Sie in der Klassendokumentation und passen Sie die Kommentare in Ihren Methoden und Klassen an. Erkunden Sie die verschiedenen Möglichkeiten, die javadoc bietet (javadoc -? bietet Hilfe) Javadoc läßt sich auch als Tool in Eclipse integrieren: Run External Tools External Tools... Programm New Location: %JAVA_HOME%\bin\javadoc.exe Working Dir: ${project_loc\src Arguments: -d ${project_loc\doc * Prof. Dr. Nikolaus Wulff 54
55 Package Übersicht Prof. Dr. Nikolaus Wulff 55
Java Schulung. Objektorientierte Programmierung in Java Teil III: Java Klassen und Objekte. Prof. Dr. Nikolaus Wulff
Java Schulung Objektorientierte Programmierung in Java Teil III: Java Klassen und Objekte Prof. Dr. Nikolaus Wulff Referenzvariablen Referenzvariablen verweisen auf (unbenannte) Objekte im Speicher. Uninitialisierte
MehrVererbung, 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
MehrEinstieg 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
MehrVererbung. 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
MehrJavakurs 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
Mehr3 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
Mehr3 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
MehrImplementieren 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
MehrEinstieg 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
MehrKapitel 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
MehrEinstieg 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
MehrInnere 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
MehrAlgorithmen 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
MehrKapitel 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
MehrProgrammieren 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
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrBeispiele 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]
MehrDurch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei
Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrNeben 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
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
MehrGrundzü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
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrJava für Bauingenieure
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen
MehrRepetitorium 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
MehrTag 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
Mehr3. Klassen Statische Komponenten einer Klasse. Klassenvariablen
Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber in den Übungen! Linux, OS X http://hhu-fscs.de/linux-install-party/
Mehr4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
MehrFH 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
MehrKlassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
MehrObjektorientierung (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
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrTafelübung 07 Algorithmen und Datenstrukturen
Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrAllgemeines - Prinzipien
OOP - Prinzipien Allgemeines - Prinzipien OO modelliert die reale Welt als System interagierender Objekte Objekt = gedankliche oder reale Einheit in der Umwelt und/oder in Software Klar definierte Schnittstellen
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 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,
MehrEinstieg 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:
MehrProf. 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
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrJava 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
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Dienstag Inhaltsübersicht Variablen: Membervariablen und lokale Variablen Referenzvariablen: Arrays und Objekte anlegen Definition von Funktionen: Methoden Konstruktoren
MehrProgrammieren 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
MehrKlassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:
Klassenvariablen Klassenmethoden Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit
MehrEinstieg 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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
MehrVererbung 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
MehrVererbung. 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
MehrEinstieg 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
MehrObjektorientierte 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
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung 2 Einordnung in den Softwareentwicklungsprozess Softwareentwicklung mit JAVA Planung Entwurf Programmierung Test/Evaluation/Pflege
Mehr5 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
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
Mehr1 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,
MehrJava Einführung Vererbung und Polymorphie. Kapitel 13
Java Einführung Vererbung und Polymorphie Kapitel 13 Inhalt Klassifikation (UML) Implementierung von Vererbungshierarchien Überschreiben von Methoden Polymorphismus: Up-Casting und Dynamisches Binden Schlüsselwort
MehrProgrammieren I. Kapitel 8. Vererbung
Programmieren I Kapitel 8. Vererbung Kapitel 8: Vererbung Ziel: Wesentliches objektorientiertes Konzept kennenlernen Subtypen Idee Probleme und Varianten Vererbung in Java dynamische Bindung abstrakte
MehrInterfaces und Vererbung
Interfaces und Vererbung Einführung in Java Folie 1 von 31 12. Mai 2011 Ivo Kronenberg Inhalt Interfaces Statische und dynamische Typen Visiblitätsmodifier Vererbung Überschreiben von Methoden Konstruktoren
MehrInhaltsü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)
Mehr6. Globalübung (zu Übungsblatt 8)
6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrKapitel 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
MehrBeispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrKapitel 4: Klassen und Unterklassen
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 4: Klassen und Unterklassen Folie 54 : Unterklassen Die Bildung von Unterklassen und das Konzept der Vererbung sind
MehrJava 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
MehrJava 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
MehrTag 7 Repetitorium Informatik (Java)
Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrArten von Klassen-Beziehungen
Arten von Klassen-Beziehungen Untertypbeziehung: Ersetzbarkeit Vererbung von Code aus Oberklasse irrelevant Vererbungsbeziehung: Klasse entsteht durch Abänderung anderer Klassen Ersetzbarkeit irrelevant
MehrProgrammieren in Java
Einführung in die Objektorientierung Vererbung 2 Packages Packages dienen zur Strukturierung von Klassen Computer.java package BEZEICHNER ; package vorlesung7; public class KLASSEN-BEZEICHNER { public
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
MehrObjektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen
Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung
MehrObjektorientierte Programmierung. Kapitel 14: Interfaces
14. Interfaces 1/26 Objektorientierte Programmierung Kapitel 14: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/
Mehr7. Ü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
MehrInfo B VL 8: Abstrakte Klassen & Interfaces
Info B VL 8: Abstrakte Klassen & Interfaces Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 8: Abstrakte
Mehr7. 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
MehrEinstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:
MehrFragen 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?...
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 19. 25. Februar 2003 Dienstag Inhaltsübersicht Variablen: Membervariablen und lokale Variablen Referenzvariablen: Arrays und Objekte anlegen Definition von Funktionen: Methoden Konstruktoren
MehrProf. 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
MehrOOP 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
MehrAbschnitt 6: Klassen, Objekte und Methoden in Java
Abschnitt 6: Klassen, Objekte und Methoden in Java 6. Klassen, Objekte und Methoden in Java 6.1 Klassen 6.2 Objekte 6.3 Methoden 6.4 Zusammenfassung 6 Klassen, Objekte und Methoden in Java Informatik 2
MehrKlassen 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
MehrKapitel 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
Mehr3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.
3.8 Objekttypen und Arrays Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.8-1 Primitive Datentypen
MehrTest zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003
Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 1. Jänner 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat
MehrKapitel 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
MehrProgrammieren 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
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
MehrKapitel 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
MehrTest zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 28. Februar 2003
Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 8. Februar 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: Bakkalaureat
MehrSilke 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
MehrThemen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen
Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich
MehrJava für Computerlinguisten
Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009
MehrFolienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4
Folienpaket 7 Themenschwerpunkte: Methoden in OOP 284 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Eine Klasse entwerfen Eine Klasse enthält folgende Information: Name der Klasse (ist auch der
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
Mehr