Beziehungen zwischen Klassen
|
|
- Jonas Dunkle
- vor 8 Jahren
- Abrufe
Transkript
1 Beziehungen zwischen Klassen Martin Wirsing in Zusammenarbeit mit Gilbert Beyer und Christian Kroiß WS 09/10
2 2 Ankündigung Abgabe von Übungsblatt 6 noch bis zum Donnerstag,12:00 Uhr, möglich Inhalt der Vorlesung bis Weihnachten: Ausnahmebehandlung und robuste Programmierung Bäume & Listen Entwurfsmuster und Zusammenfassung des ersten Teils der Vorlesung
3 3 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben lernen Den Begriff der einfachen Vererbung verstehen Vererbung und Redefinition von Oberklassenmethoden verstehen Die Klasse Object kennenlernen
4 4 Assoziation und Aggregation Assoziation ist eine Beziehung zwischen zwei oder mehr Klassen C D Assoziation: Die Klassen C und D stehen in Beziehung C D Aggregation: Jedes Objekt von C enthält Objekte von D C D Vererbung: Die Klasse C ist Erbe der Klasse D C D Abhängigkeit: Die Klasse C benützt Elemente der Klasse D (i.a. Methoden)
5 5 Assoziation Die Assoziation ist die allgemeinste Art einer Beziehung C name mult role D Das Diagramm drückt aus, daß jedes Objekt o von C mit mult -vielen Objekten von D im Beziehung steht, die die Rolle role für o spielen. Dabei ist role ein Name und mult entweder eine natürliche Zahl, ein Stern * für beliebig viele Objekte oder ein Intervall der Form a..b mit a N, b N {* Der Name name gibt den Namen der Assoziation an. Das ausgefüllte Dreieck bezeichnet die Leserichtung.
6 6 Beispiele: Assoziation und Aggregation Assoziation 1. Professor 1 liest 0..* Vorlesung Schwache Aggregation 2. Hypertext-Buch Titel Erscheinungsjahr * * chapter Kapitel Autor AnzahlSeiten Jedes Hypertext-Buch ist gekennzeichnet durch seine Kapitel, d.h. Kapitel spielt die Rolle chapter für Hypertext-Buch.
7 7 Beispiele: Assoziation und Aggregation 3. starke Aggregation (Komposition) Customer 1 owner 0..* account BankAccount Jeder Bankkunde besitzt 0 oder mehrere Konten, die die Rolle account spielen. Jedes Bankkonto hat genau einen Besitzer ( owner ). Die Lebensdauer eines Bankkontos ist durch die des Kunden beschränkt.
8 8 Beispiel: Schwache Aggregation Schwache Aggregation Unternehmen 1 besteht aus 1..* 1 besteht aus 1..* Abteilung Mitarbeiter Schwache Aggregation ist eine Teile-Ganzes Relation, die Lebensdauer der Teile hängt aber nicht von der Lebensdauer des Ganzen ab. Es gilt aber, dass die Objekte der schwachen Aggregation einen gerichteten azyklischen Graphen bilden. (Wenn B Teil von A, dann ist A nicht Teil von B). Ein Teil darf jedoch auch einem anderen Ganzen zugeordnet werden.
9 9 Starke Aggregation Ganzes 1 besteht aus * Teil Die Teile existieren nur innerhalb des Aggregats Ganzes ; d.h. die Lebensdauer eines Teil -Objekts wird durch die Lebensdauer des zugehörigen Aggregats beschränkt. Objekte der starken Aggregation bilden einen Baum. (Gerichteter azyklischer Graph mit Wurzel, in dem jeder Knoten höchstens einen Vorgänger besitzt.) Jedes Objekt der Teilklasse kann - zu einem Zeitpunkt - nur Komponente eines einzigen Objekts der Aggregatklasse sein, d.h. die bei der Aggregatklasse angetragene Kardinalität darf nicht größer als eins sein (unshared aggregation, strong ownership). Die dynamische Semantik des Ganzen gilt auch für seine Teile (propagation semantics). Wird beispielsweise das Ganze kopiert, so werden auch seine Teile kopiert.
10 10 Beispiel: Starke Aggregation * starke Aggregation (Komposition) Verzeichnis Name Erstellung 1 * * Datei Name Erstellung letzte Änderung letzter Zugriff
11 11 Java Implementierung von Assoziationen C name mult role D In Java repräsentiert man Assoziationen durch Attribute. Jede Rolle role vom Typ D wird als Attribut von C implementiert. Ist die Multiplizität 0, 1 oder 0..1 erhält man ein Attribut D role. Ist die Multiplizität >1 oder * verwendet man eine Reihung oder eine ArrayList von D-Objekten.
12 12 Java Implementierung von Assoziationen C multb = 0..1 induziert das Schema: class C { D myd; multb = * induziert das Schema: class C { ArrayList myd; multd myd D! Beachte: Im UML-Diagramm ist myd die Rolle einer Assoziation; in Java wird myd als Attribut implementiert. In einem UML-Diagramm darf myd NICHT doppelt als Rolle und Attribut verwendet werden.
13 13 Implementierung von starker Aggregation Erzeugung der Komponenten durch Konstruktor des Aggregats (um die Lebensdauerabhängigkeit zu berücksichtigen.) Beispiel Circle double radius... 1 center Point class Circle { private double radius; private Point center; public Circle(double rad, double x, double y) { radius = rad; center = new Point(x,y);... Das Point Objekt wird durch den Konstruktor von Circle erzeugt und sollte keine Beziehungen zu äußeren Objekten besitzen.
14 14 Implementierung von starker Aggregation Beispiel Assoziation mit Multiplizität 1: Kunde, der genau ein Bankkonto besitzen muss. Customer name getbalance () deposit (x) withdraw (x) 1 1 account BankAccount
15 15 Implementierung von starker Aggregation class Customer { private String name; private BankAccount account; public Customer(String cname, double initialbalance) { name = cname; account = new BankAccount(initialBalance); public String getname() { return name; public double getbalance() { return account.getbalance(); public void transferto(bankaccount other, double amount) { account.transferto(other, amount); public void withdraw(double x) { account.withdraw(x); public void deposit(double x) { account.deposit(x);
16 16 Implementierung von Assoziationen mit Multiplizität * Beispiel: Kunden mit 0 oder mehreren Bankkonten Customer name getbalance () deposit (x) withdraw (x) 1 0..* accounts BankAccount
17 17 Die Klasse ArrayList class ArrayList { public ArrayList() //Constructs an empty list with an initial capacity of ten. public ArrayList(int initialcapacity) //Constructs an empty list with the specified initial capacity. public T get(int index) //Returns the element at the specified position in this list. public T set(int index, T element) //Replaces the element at the specified position //in this list with the specified element. public boolean add(t element) //Appends the specified element to the end of this list. public int size() //Returns the number of elements in this list.
18 18 Implementierung von Assoziationen mit Multiplizität * import java.util.arraylist; class Customer { private String name; private ArrayList accounts; public Customer(String cname) { name = cname; accounts = new ArrayList(); public void createaccount(double initialbalance) { BankAccount a = new BankAccount(initialBalance); accounts.add(a); public String getname() { return name; fügt neues Element an das Ende der ArrayList an.
19 19 Implementierung von starker Aggregation... public double getbalance(int i) { BankAccount a = accounts.get(i); return a.getbalance(); public void transferto(int i, BankAccount other, double amount) { BankAccount a = accounts.get(i); a.transferto(other, amount); public void withdraw(int i, double x) { BankAccount a = accounts.get(i); a.withdraw(x); public void deposit(int i, double x) { BankAccount a = accounts.get(i); a.deposit(x);
20 20 Vererbung Klasse D ist Erbe einer Klasse C, falls D alle Attribute und Methoden von C erbt, in UML: C Superklasse von D in Java: class D extends C D Subklasse von C d.h D besitzt alle Methoden und Attribute von C und von allen Oberklassen von C. Man nennt C auch allgemeiner als D bzw. D spezieller als C.
21 21 Vererbung C T1 m() x m() D T2 y n() Attribute von D = {y Attribute von C Methoden von D = {n() Methoden von C Folgerung: Die Vererbungsbeziehung ist transitiv: Wenn C von B erbt, dann besitzt D auch alle Attribute und Methoden von B
22 22 Vererbung Beispiel: Sparkonto Ein Sparkonto ist ein Bankkonto, bei dem Zinsen gezahlt werden: type var ist Java-Variante der UML Notation; in Standard UML: var : type Analog in Standard UMl: m(par):restype statt restype m(par) BankAccount SavingsAccount double interestrate SavingsAccount (double rate) void addinterest () double getinterest()
23 23 public class BankAccount { private double balance; public BankAccount() { balance = 0.0; public BankAccount( double initialbalance) { balance = initialbalance; public void deposit(double amount) { balance = balance + amount; public void withdraw(double amount) { balance = balance - amount; public double getbalance() { return balance; public void transferto(bankaccount other,double amount) { withdraw(amount); other.deposit(amount); BankAccount in Java - double balance BankAccount + void deposit (double amount) + void withdraw (double amount) + double getbalance() + void transferto ( BankAccount other, double amount)
24 24 Implementierung in Java public class SavingsAccount extends BankAccount { private double interestrate; public SavingsAccount(double rate) { super(0.0); interestrate = rate; public void addinterest() { double interest = getbalance() * interestrate/100; // auf das Attribut balance kann hier //nicht zugegriffen werden deposit(interest); // geerbte Methode Zugriff auf Konstruktor der Oberklasse siehe später
25 25 Vererbung C Ist D ist Erbe von C, so gilt: D Man kann von D aus nicht direkt auf die privaten Attribute von C zugreifen, sondern nur mittels nichtprivater (geerbter) Zugriffsmethoden von C. Eine Variable der Klasse D kann jede nicht-private Methode von C aufrufen. Einer Variablen der Klasse C kann man ein Objekt eines Nachfahren zuweisen. Beispiel: D d =...; C c = d; Umgekehrt kann man einer Variablen vom Typ D KEIN Objekt einer Vorfahrenklasse zuweisen. Beispiel: D d1 = c; //falsch!
26 26 Abhängigkeitsrelation (Verwendungsrelation, engl. dependency) Die Klasse A ist abhängig von der Klasse C, wenn A Elemente der Klasse C (i.a. Methoden) benützt, UML C A Beispiel: In unserem Beispiel erhalten wir BankAccount SavingsAccount SavingsAccountTest
27 SavingsAccountTest in Java 27 Beispiel: public class SavingsAccountTest { public static void main(string)[] args) { SavingsAccount sparkonto = new SavingsAccount(5); BankAccount konto1 = sparkonto; //ok Sparkonto vom //spezielleren Typ konto1.deposit(1000); // ok // konto1.addinterest(); // nicht ok, da konto1 // nicht den Typ einer // Subklasse hat (SavingsAccount)konto1.addInterest(); // ok, wegen Typcast sparkonto.getbalance(); // ok, geerbte Methode konto1.getbalance(); // ok
28 28 Redefinition von Methoden In vielen Fällen kann man die Implementierung einer Methode m nicht direkt von der Superklasse übernehmen, da z.b. die neuen Attribute in der Superklasse nicht berücksichtigt werden (können). Dann ist es nötig, für die Erbenklasse eine neue Implementierung von m anzugeben. Redefinition von m in UML: Methodenkopf von m wird in der Erbenklasse noch einmal angegeben; Java: neue Implementierung für m im Erben Bemerkung: Bei der Redefinition wird die alte Methode nicht überschrieben; man kann auf sie mit der speziellen Variable super zugreifen. Genauer gesagt, greift man mit super.m() auf die nächste Methodenimplementierung von m in der Vererbungshierarchie zu.
29 29 Redefinition von Methoden und Konstruktoren Beispiel: Girokonto Bei einem Girokonto werden bei jeder Transaktion Gebühren verlangt BankAccount deposit withdraw getbalance Redefinition nötig CheckingAccount SavingsAccount deductfees deposit withdraw addinterest getinterest
30 30 Redefinition von Methoden Statische Konstanten, die für jede Instanz public class CheckingAccount extends BankAccount von CheckingAccount { private int transactioncount; gelten. public static final int FREE_TRANSACTIONS = 3; public static final double TRANSACTIONS_FEE = 0.3; public void deposit(double d) { super.deposit(d); // Aufruf von BankAccount::deposit transactioncount++; public void withdraw(double d) { super.withdraw(d); // Aufruf von BankAccount::withdraw transactioncount++;
31 31 Redefinition von Methoden Fortsetzung public void deductfees() { if (transactioncount > FREE_TRANSACTIONS) { double fees = TRANSACTIONS_FEE * (transactioncount - FREE_TRANSACTIONS); super.withdraw(fees); transactioncount = 0;
32 32 Redefinition von Konstruktoren Zugriff auf einen Konstruktor einer Superklasse: bzw. super(); super(p 1,...,p n ); // parameterloser Konstruktor // Konstruktor mit n Parametern Bemerkung: Dieser Aufruf muss die erste Anweisung des Subklassenkonstruktors sein.
33 33 Redefinition von Konstruktoren Beispiel: CheckingAccount public CheckingAccount(double initialbalance) { super(initialbalance); // muss 1. Anweisung sein transactioncount = 0; Äquivalent dazu könnte man die Methode deposit verwenden: public CheckingAccount(double initialbalance) { // super(); Standardkonstruktor wird automatisch // aufgerufen, wenn 1. Anweisung kein Konstruktor ist. transactioncount = 0; super.deposit(initialbalance); // super.m() kann // überall im Rumpf // vorkommen
34 34 Falscher Zugriff auf super Man kann mit super(...) nur auf den Konstruktor der direkten Oberklasse zugreifen, aber nicht transitiv auf Konstruktoren weiter oben liegender Klasse. Die Compilerausgabe für diesen, im folgenden Beispiel zu findenden Fehler lautet: >javac C.java C.java:17: cannot resolve symbol symbol : constructor B (int,int) location: class B super(a, b); ^ 1 error
35 35 Redefinition von Methoden und Konstruktoren class A { A(int a, int b) { System.out.println(a); System.out.println(b); A(){ class B extends A { B(int a, int b, int c) { super(a, b); class C extends B { C(int a, int b, int c, int d) { super(a, b); public static void main(string args[]) { C c = new C(1, 2, 3, 4);
36 36 Vererbungspolymorphie und dynamisches Binden Vererbungspolymorphie Man spricht von Vererbungspolymorphie, wenn eine Methode von Objekten von Subklassen aufgerufen werden kann. Dynamisches Binden Falls eine Methode T m(t 1 x 1,..., T n x n ) mehrere Implementierungen besitzt (die im Vererbungsbaum übereinander liegen), so wird bei einem Aufruf o.m(a 1,..., a n ) die richtige Implementierung dynamisch bestimmt und zwar sucht man ausgehend von der Klasse des dynamischen Typs von o die speziellste Methodendeklaration, auf die der Methodenaufruf anwendbar ist (genauer siehe übernächste Folie). Man nennt dies auch dynamische Bindung, da der Methodenrumpf erst zur Laufzeit ausgewählt wird. Dagegen wird bei statischer Bindung (nicht in Java) der Methodenrumpf zur Übersetzungszeit bestimmt.
37 37 C m() n() D m() E m() Beispiel für Dynamische Bindung D d = exp1; //exp1 sei vom Typ D d.n(); //Aufruf von n in C F f = exp2; //exp2 sei vom Typ F d = f; //Wert von d ist Instanz von F d.m(); //Aufruf von m in E d.n(); //Aufruf von n in F F n()
38 39 Vererbungspolymorphie und dynamisches Binden Dynamisches Binden Methodenaufruf in Java von o.m(a 1,...,a n )mit o vom statischen Typ D und a 1,...,a n vom Typ T 1,..., T n. Ein Methodenkopf R m(p 1,..., P n ) der Klasse C heißt anwendbar auf o.m(a 1,...,a n ), wenn C gleich D oder allgemeiner als D ist und wenn jedes P i gleich T i oder allgemeiner als T i ist (für i=1,...,n). C Beispiel m() n() D m() C c = exp1; D d = exp2; c.m(); //m in C anwendbar auf c.m() // aber m in D nicht anwendbar auf c.m() d.n(); //n in C anwendbar auf d.n() d.m(); //m in C und D beide anwendbar auf d.m() //m(d x) ist spezieller als m(c x)
39 41 Vererbungspolymorphie und dynamisches Binden Dynamisches Binden Zur Übersetzungszeit wird zunächst der speziellste Methodenkopf R m(q 1,..., Q n ) bestimmt, der auf o.m(a 1,...,a n ) anwendbar ist. Zur Laufzeit bestimme den dynamischen Typ D1 von o; wenn D1 eine Methodendeklaration R m(q1,..., Qn) enthält, wende diese Methode an; andernfalls suche die speziellste Klasse C mit Methodendeklaration R m(q1,..., Qn), so daß C allgemeiner oder gleich D1 ist und wähle diese Methodendeklaration für den Aufruf.
40 Die Klasse Object 42 Object ist die allgemeinste Klasse in Java. Alle Klassen sind Erben von Object. Beispiel Object BankAccount Point Hallo SavingsAccount CheckingAccount
41 Die Klasse Object 43 Die Klasse Object besitzt u.a. die folgenden Methoden, die man häufig benötigt: Textrepräsentation von this Object String tostring() boolean equals(object o)... Vergleich zweier Objekte
42 Die Klasse Object 44 String tostring(): Die tostring-methode erzeugt eine Textrepräsentation einer Klasse. Im Allgemeinen ist es nötig, für selbstdefinierte Klassen eine tostring-methode zu definieren. Beispiel: BankAccount String tostring() { return BankAccount[balance is + balance + ] ;
43 45 Die Klasse Object boolean equals(object o): equals vergleicht die Objektreferenzen von this und o. Im Allgemeinen ist es nötig, für selbstdefinierte Klassen eine equals-methode zu definieren, wenn die Attributwerte und nicht Objektreferenzen verglichen werden sollen. :C a = null b = 100 this.equals(o1) == true this.equals(o2) == false this o1 o2 :C a = null b = 100
44 46 Zusammenfassung Eine Assoziation ist eine Relation (Beziehung) zwischen Klassen. Eine Aggregation ist eine Teile-Ganzes-Beziehung und damit eine spezielle Assoziation. Bei einer starken Aggregation sind die Teile existenzabhängig vom Ganzen. Insbesondere kann jedes Teil nur zu einem Aggregat gehören. Eine Rolle myb (vom Typ B) mit Multiplizität 1 oder 0..1 wird durch ein Attribut myb vom Typ B implementiert, bei Multiplizität * bekommt es den Typ ArrayList. Bei der starken Aggregation werden die abhängigen Objekte im Konstruktor des Aggregats erzeugt, um die Lebensdauerabhängigkeit zu garantieren.
45 47 Zusammenfassung (I) Die Abhängigkeitsbeziehung gibt an, dass D Symbole der Klasse C verwendet. C D Die Vererbungsbeziehung hat folgende Eigenschaften: C D Für Variablen gilt: a) Jedes Attribut von C ist automatisch Attribut von D. Möglicherweise kann man aber auch von D nicht direkt darauf zugreifen! b) Ein neu definiertes Attribut von D ist nicht Attribut von C. c) Einer lokalen Variablen oder einem Parameter der Klasse C kann ein Objekt der Klasse D zugewiesen werden (aber nicht umgekehrt, dazu ist ein gültiger Cast nötig!)
46 48 Zusammenfassung (II) Für Methoden gilt: a) Jede Methode von C ist automatisch eine Methode von D und kann daher mit Objekten von D aufgerufen werden (Vererbungspolymorphie). Eine Methode von D kann aber nicht von einer lokalen Variablen vom Typ C aufgerufen werden. b) Soll in einem Methodenrumpf auf die Methode der Superklasse zugegriffen werden, verwendet man spezielle Variable super. c) In der Subklasse D können Methoden redefiniert werden. Solche Methoden müssen im UML-Diagramm der Klasse D explizit genannt werden. C d) Beim Methodenaufruf wird die passende Methodenimplementierung zur Laufzeit ausgewählt (dynamisches Binden). D
Assoziation und Aggregation
Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben
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
Vererbung. Prof. Dr. Christian Böhm. in Zusammenarbeit mit Gefei Zhang. WS 07/08
Vererbung Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Den Begriff der einfachen Vererbung verstehen Vererbung und Redefinition von
Assoziation und Aggregation
Assoziation und Aggregation Prof. Dr. Christian Böhm in Zusammenarbeit mit Michael Eckert und Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfows WS 07/08 2 Ziele Verstehen der Begriffe Assoziation und
Klassen und ihre Beziehungen II: Einfache Vererbung und Abhängigkeit
Klassen und ihre Beziehungen II: Einfache Vererbung und Abhängigkeit Martin Wirsing Ziele en Begriff der einfachen und mehrfachen Vererbung verstehen Vererbung und Redefinition von Oberklassenmethoden
Klassen und ihre Beziehungen I: Assoziation und Aggregation
Klassen und ihre Beziehungen I: Ziele Verstehen der Begriffe Assoziation, Aggregation und Komposition 2 Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Piotr Kosiuczenko, irk Pattinson 3 4 Assoziation
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
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
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
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
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:
Einführung in die Programmierung für NF
Einführung in die Programmierung für NF UML Valerie Holmeyer Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wichbg Quiz nach den jeweiligen AbschniGen Jeder kann mitmachen App socra&ve auf Smartphone
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
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
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
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
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
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
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
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
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
Vererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
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:
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben
Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
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,
Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
Software Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla
BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung
Typumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
Objektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
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,
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:
Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
Studentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
5.6 Vererbung. Vererbung
5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug
Prinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
Klassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden
VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:
Große Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
Objektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am
Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
Applet Firewall und Freigabe der Objekte
Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable
Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.
Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,
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
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1
Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen
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
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
Java Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
Software Engineering Klassendiagramme weiterführende Konzepte
Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public
13. Tutorium zu Programmieren
13. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2009 by IPD Snelting
Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
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
188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
VS Praktikum 03 Konzept
Darstellung der Architektur: Manager VS Praktikum 03 Konzept Account 3 3 7 6 NameServiceServer 4 5 2 1 2 1 Geldautomat Filiale Messagearten: Für jede unterschiedliche Message gibt es eine eigene Klasse:
Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000
Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,
Javakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
Diana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
Arrays Fortgeschrittene Verwendung
Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung
12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)
12. Vererbung Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Vererbung Konzept!Protected Section!Virtuelle Mitgliedsfunktionen!Verwendung von Vererbung Copyright: M. Gross, ETHZ, 2003 2 Vererbung!
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
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
Testklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten
Matrikelnummer: Punkte: Testklausur 1 zur Vorlesung Modellierung und Programmierung I Dr. Monika Meiler Zeit: 60 Minuten Bemerkungen: Jedes Blatt ist mit der Matrikelnummer zu versehen. Jede Aufgabe ist
Modellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen
Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
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
Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
Grundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Test-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms
Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
Abschnitt 9: Schnittstellen: Interfaces
Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung
Institut für Programmierung und Reaktive Systeme 26. April 2013. Programmieren II. 10. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 26. April 2013 Programmieren II 10. Übungsblatt Hinweis: Insgesamt werden in diesem Semester fünf
GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.
GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert
Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation
Übung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Objektorientierung: Klassen und Objekte
Vorlesung und Übung Universität Paderborn Wintersemester 2015/2016 Dr. Peter Pfahler Objektorientierung: Klassen und Objekte EWS, WS 2015/16, Pfahler L-1 Objektorientierung behandelt in "Einführung in
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
Arbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
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,
Ü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
Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
Java Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
Lehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
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 Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E