Objektorientierung. Teil 1: Einführung in die Objektorientierung (aus der Java-Perspektive)
|
|
- Heike Pfeiffer
- vor 6 Jahren
- Abrufe
Transkript
1 BlueJ und Java: Grundkonzepte objektorientierten Programmierens Teil : Einführung in die Objektorientierung (aus der Java-Perspektive) Dr. M. Schillo, Christoph Uhrhan PL Speyer Thomas Karp, C. Uhrhan Schwerpunkte Musik und Informatik Programm.Tag: OO-Modellierung mit UML Begriffe - Bauplan, Instanz, Eigenschaft, Fähigkeit - Klasse, Objekt, Variable, Methode Diagrammformen für den Unterricht - Anwendungsfalldiagramm, Liste der natürlichen Objekte, Klassendiagramm, Sequenzdiagramm, Aktivitätsdiagramm - Beispiel: Druckerwarteschlange Ausprobieren am Beispiel (Rollenspiel/GA) - Bankautomat Komplexe Projekte ohne Kodierung Objektorientierung 3
2 Wie verhält sich Objektorientierung zur prozeduralen Programmierung? Einstiegsbeispiel Programmieren im Kleinen bleibt erhalten Prozedurorientierte Modellierung - Struktogramme etc. Objektorientierte Modellierung - UML Eine Ampel kommt selten allein 5 6 Codebeispiel: Ampelklasse Idee der Objektorientierung public class Ampel{ int zustand; public void schalteweiter(){ zustand = ( zustand + ) % 4; public void zeichneampel(){! Ampel ampel = new Ampel(); Ampel ampel2 = new Ampel(); ampel.schalteweiter(); ampel2.schalteweiter(); Vorstrukturierung komplexer Systeme anhand natürlicher Objekte Jedes Objekt hat Fähigkeiten und Eigenschaften Verteilung von Lösungskompetenzen, Zuständigkeiten und Geheimnissen Planung des Kontrollflusses ( Meta-Algorithmus ) 7 8
3 Kern der Objektorientierung Objektorientierung: Phasenmodell Konzept Effekt Hintergrund Kapselung Reduktion von Nebeneffekten Viele Entwickler OO-Analyse OO-Entwurf OO-Entwicklung Klassen Reduzierung von Codelänge Effizienz OO-Modellierung OO-Programmierung Modellierung natürlicher Objekte Komplexitätsreduktion Der Code ist die Dokumentation 9 0 Beispiel: Digitale Uhr public class Uhr{ int stunden, minuten, sekunden; Aufbau - Stunden, Minuten, Sekunden, Takt, Wie implementiert man zwei Uhren (Weltuhr)? - den Code kopieren und noch einmal einfügen - Variablen umbenennen - Bei Änderungen alles doppelt drei Uhren, vier Uhren? public Uhr( int h, int m, int s ){ stunden = h; minuten = m; sekunden = s; public void zaehleweiter(){ sekunden = sekunden + ; if ( sekunden == 60 ){ sekunden = 0; minuten++; if ( minuten == 60 ){ minuten = 0; stunden++; Uhr speyer = new Uhr( 4, 30, 45); speyer.zaehleweiter(); Uhr london = new Uhr( 3, 30, 45); london.zaehleweiter(); public void zeigeuhrzeitan(){ System.out.println( stunden + : + minuten + : +sekunden ); 2
4 Begriffe der Objektorientierung Merkmale von Objekten Begriff Beispiel Erläuterung Objekt speyer Exemplar oder Instanz Klasse Uhr Bauplan Methode Objektvariable Vererbung zaehleweiter() stunden AnalogUhr Fähigkeit, Prozedur, Methode Eigenschaft, Variable, Attribut Anreicherung von Eigenschaften Objekte haben einen Typ - der Name der Klasse, dessen Instanz sie sind. einen Namen einen Zustand - Die Gesamtheit aller Variablenwerte. eine Identität - dazu später mehr! 3 4 Bezeichnerkonventionen Vorteile der Implementierung mit Objektorientierung. Sinntragende Bezeichner 2. Konkatenation Klasse: Uhr - Substantiv, Großschreibung Variable: meineuhr = new Uhr() - Substantiv, Kleinschreibung Methode: zaehleweiter() - Verb, Kleinschreibung Beispiel: meineuhr.zaehleweiter() Bessere Kapselung von: Daten => Geheimhaltung Zuständigkeiten => Interaktion statt Manipuliation => Klare Schnittstellen Komplexität => Bessere Modularisierung Arbeitsersparnis: Objekte => Wiederverwendung von Code Klassenbibliotheken => Wiederverwendung von Funktionalität 5 6
5 Warum Java für OOI? Pro - Plattformübergreifend - Einbindung ins Web -> Applets - Unterstützung: Bibliotheken, IDEs, Literatur, Foren - universellere Konzepte, kompakter JavaScript!?! Kontra - Overhead bei Ein-/Ausgabe - Kein Einstieg ohne OO?bsh? Fragen? 7 UML - die Unified Modelling Language Die wichtigsten Diagrammformen der UML für den Unterrichtseinsatz am Beispiel einer Druckerwarteschlange Einstieg Worum geht es?. Beispiele für UML im Unterricht. Denkwerkzeuge für die Modellierung. Allgemeinbildende Aspekte Worum geht es nicht?. Vermittlung des UML-Standards auf Niveau von Softwareentwicklern Schwerpunkte Musik und Informatik 20
6 Der Fahrplan Anwendungsfall-Diagramm: Druckerwarteschlange. Druckerwarteschlange (vormittag) 2. Bankautomat (nachmittag) Systemgrenze Druckauftrag erzeugen 2x4 - Anwendungsfalldiagramm Anwendungsfälle - Klassendiagramm - Aktivitätsdiagramme - Sequenzdiagramme Anwender Rolle Warteschlangeninhalt ansehen Druckauftrag drucken 2 22 Textuelle Beschreibung der Anwendungsfälle Anwendungsfall-Diagramm: Druckerwarteschlange Man will einen Druckauftrag erzeugen und (nach Priorität oder Reihenfolge des Einreichens) einreihen können Die Warteschlange muss den nächsten Druckauftrag ausgeben können Die Nutzer wollen die Warteschlange einsehen können Evtl. muss ein Druckauftrag vorgezogen werden können 23 Systemgrenze Rolle Anwender Druckauftrag erzeugen <<erweitert>> Druckauftrag mit Priorität erzeugen Warteschlange anhalten Anwendungsfälle Warteschlangeninhalt ansehen Druckauftrag einsortieren Priorität ändern Druckauftrag entfernen Druckauftrag drucken Informationen zu Druckauftrag ansehen 24
7 Anwendungsfall-Diagramm: Druckerwarteschlange Rollenspiel zu: Einsortieren eines Auftrages Systemgrenze Rolle Anwender Druckauftrag erzeugen <<erweitert>> Druckauftrag mit Priorität erzeugen Warteschlange anhalten Anwendungsfälle Warteschlangeninhalt ansehen Druckauftrag einsortieren Priorität ändern Druckauftrag entfernen Druckauftrag drucken Informationen zu Druckauftrag ansehen 26 Liste der natürlichen Objekte Nutzer Warteschlange Druckauftrag Papier Drucker Priorität Papierstau Dokumentname Druckertreiber Extern Elementar + Warteschlangenelement Vorbereitung des Klassendiagramms! 27 Klassendiagramm für Warteschlange und Druckauftrag druckername: String kopf: DruckAuftrag DruckerWarteschlange (c) DruckerWarteschlange(dn: String) druckenaechstenauftrag(): DruckAuftrag erzeugedruckauftrag(da: DruckAuftrag): void giblaengeaus(): int gibwarteschlangeaus(): void Warteschlange 0 Kopf 2 verwaltet DruckAuftrag dokumentname: String nachfolger: DruckAuftrag prio: int (c) DruckAuftrag(dn: String, p: int) druckedokumentaus(): void fuegedruckauftragein(da: DruckAuftrag) gibdokumentnameaus(): void gibnachfolger(): DruckAuftrag setzenachfolger(da: Druckauftrag): void gibprio(): int setzeprio(p: int): void gibrestwsaus(): void druckedokumentaus(): void gibrestlaengeaus(lb: int): int Nachfolger
8 Klassendiagramm für Warteschlange und Druckauftrag druckername: String kopf: DruckAuftrag DruckerWarteschlange (c) DruckerWarteschlange(dn: String) druckenaechstenauftrag(): DruckAuftrag erzeugedruckauftrag(da: DruckAuftrag): void giblaengeaus(): int gibwarteschlangeaus(): void verwaltet 0.. DruckAuftrag dokumentname: String nachfolger: DruckAuftrag prio: int (c) DruckAuftrag(dn: String, p: int) druckedokumentaus(): void fuegedruckauftragein(da: DruckAuftrag) gibdokumentnameaus(): void gibnachfolger(): DruckAuftrag setzenachfolger(da: Druckauftrag): void gibprio(): int setzeprio(p: int): void gibrestwsaus(): void druckedokumentaus(): void gibrestlaengeaus(lb: int): int Nachfolger 0.. neuerauftrag Aktivitätsdiagramm: fügeauftragein() fügeauftragein(neuerauftrag) existiert nachfolger? nein ja pneu=neuerauftrag. gibprioritaetzurueck() nachfolger = neuerauftrag nachfolger.fügeauftragein(neuerauftrag) nein pneu < nachfolger.gibprioritaetzurueck() neuerauftrag.nachfolger = nachfolger ja Warteschlange nachfolger = neuerauftrag Kopf Sequenzdiagramm: fügeauftragein() w:warteschlange kopf:druckauftrag d:druckauftrag d2:druckauftrag fuegeauftragein() gibprioritaetzurueck() id fuegeauftragein() gibprioritaetzurueck() id fuegeauftragein() Code: fügeauftragein() public class Druckauftrag{ public void fuegeauftragein( Druckauftrag d ){ if ( nachfolger == null ){ setzenachfolger( d ); else { if ( d.gibprioritaetzurueck() < nachfolger.gibprioritaetzurueck()){ d.setzenachfolger( nachfolger ); setzenachfolger( d ); else { nachfolger.fuegeauftragein( d ); 3 32
9 Aktivitätsdiagramm: gibwarteschlangeaus() gibwarteschlangeaus() Übung gibwarteschlangeaus() existiert nachfolger? ja nein nachfolger.gibdokukmentnameaus() nachfolger.gibrestderwsaus() 34 Sequenzdiagramm: gibwarteschlangeaus() Code: gibwarteschlangeaus() w:warteschlange kopf:druckauftrag d:druckauftrag d2:druckauftrag gibdokumentinfoaus() gibrestderwsaus() gibdokumentinfoaus() gibrestderwsaus() public class Warteschlange{ public void gibwarteschlangeaus(){ kopf.gibnachfolgerzurueck().gibauftraegeaus(); public class Druckauftrag{ public void gibauftraegeaus(){ gibdokumentaus(); gibrestderwsaus() 35 if ( nachfolger!= null ) nachfolger.gibauftraegeaus(); public void gibdokumentaus(){ System.out.println( id + " p: "+ prioritaet + " " + dokumentname ); 36
10 Variationen +setze Priorität( int id ) +aendereanzahl( int anzahl ) Drucken zu einem bestimmten Zeitpunkt Auswahl s/w oder Farbe Verschieben von einer Warteschlange in eine andere Fragen? 37 UML: Überblick UML (2) Die wichtigsten Diagrammformen im Überblick Phase Analyse Entwurf: Struktur Entwurf: Verhalten Diagramm Anwendungsfall Klassendiagramm Sequenzdiagramm Aktivitätsdiagramm Schwerpunkte Musik und Informatik 40
11 Anwendungsfalldiagramm Systemgrenze Liste der natürlichen Objekte, nicht in UML! Extern Rolle Anwendungsfall Anwendungsfall Anwendungsfall Rolle 2 + Elementar Vorbereitung des Klassendiagramms! 4 42 Klassendiagramm Aktivitätsdiagramm Klassenname Klassenname2 Name der Aktivität {-,+,#feld: Typ {-,+,#methode() Beziehung 0....* {-,+,#feld: Typ {-,+,#methode() Kontrollfluss: Start Arbeitsschritt Arbeitsschritt Sichtbarkeit: - private +public #protected Kardinalität: :! entfällt"" n ""! (unbekannt, aber beschränkt) 0..! (3..0"""..n)..*! ( oder mehr) *! (0 oder mehr) Parameter Entscheidung ja Arbeitsschritt ja nein Ergebniswert 43 44
12 Bearbeitungszeit Sequenzdiagramm instanz:klasse instanz2:klasse2 instanz3:klasse3 instanz4:klasse4 internemethode() externemethode() externemethode() Vorschlag: Vorgehensweise für den Unterricht F-Entw. Klassendiagramm Partner- Arbeit Natürliche Objekte Binnendiff.? Aktivitätsdiagramm Rückgabewert Rückgabewert Lebenslinie x Ende der Lebenslinie 45 HA: Text? Gruppenarbeit Anwendungsfalldiagramm Sequenzdiagramm 46 Strukturelle Probleme des Unterrichtseinsatzes der OO-Modellierung Modellierung setzt Kodierungserfahrung voraus - manche Software-Objekte sind nicht natürlich sondern technisch bedingt; - viele natürliche Objekte sind nicht relevant Vorteil der Objektorientierung: bei großen Projekten, nicht bei kleinen Objektorientierung - setzt imperative Programmierung voraus, oder - objects first: besitzt nicht genug Fleisch. Fragen? 47 Schwerpunkte Musik und Informatik
13 Sequenzdiagramm: löscheauftrag(id) () w:warteschlange kopf:druckauftrag d:druckauftrag d2:druckauftrag Übung löscheauftrag(id) gibidzurueck() id löscheauftrag(id) gibidzurueck() Auftrag löschen und Priorität ändern id x 50 Sequenzdiagramm: entferneauftrag(id) Aktivitätsdiagramm: entferneauftrag(id) w:warteschlange kopf:druckauftrag d:druckauftrag d2:druckauftrag entferneauftrag(id) entferneauftrag(id) gibidzurueck() id nimm nachfolger entferneauftrag(id) gibidzurueck() id id nachfolger.gibidzurueck() = id? nein entfernterauftrag ja entfernterauftrag ja = nachfolger entfernterauftrag entfernterauftrag nachfolger = entfernterauftrag.nachfolger x 5 52
14 Code: entferneauftrag(id) Allgemeinbildende Aspekte public class Warteschlange{ public void loescheauftrag( int id ){ kopf.entferneauftrag( id ); public class Druckauftrag{ public Druckauftrag entferneauftrag( int id ){ if ( nachfolger.gibidzurueck() == id ){ Druckauftrag auftrag = nachfolger; nachfolger = nachfolger.gibnachfolgerzurueck(); return auftrag; return nachfolger.entferneauftrag( id ); Beschreibung komplexer Systeme - Beschreibungswerkzeuge (Interaktion, Ablauf) - nicht reduzieren, sondern annehmen der Komplexität - Textverarbeitung, SchO OOM + Textverarbeitung OOM + Politische Strukturen 55 56
15 Allgemeinbildende Aspekte Zusammenfassung Beschreibung komplexer Systeme - Beschreibungswerkzeuge (Interaktion, Ablauf) - nicht reduzieren, sondern annehmen der Komplexität - Textverarbeitung, SchO Perspektivenwechsel - Nicht Kausalbeziehung - vgl. Hermeneutischer Zirkel UML - Grafische Beschreibungssprache Anwendungsfalldiagramm Klassendiagramm, Aktivitätsdiagramm Sequenzdiagramm - Perspektivenwechsel, Überblick Methodische Vorschläge - Auswahl an Diagrammen, Natürliche Objekte, Projektablauf Pause Unterrichtsmaterial Bankautomat und UML Dr. Michael Schillo Schwerpunkte Musik und Informatik
16 Aufgabe Fertigen Sie ein Klassendiagramm an Fertigen Sie Aktivitäts- und Sequenzdiagramme für folgende Abläufe an: - Ablaufdatum überprüfen - PIN prüfen - Saldo ausgeben - 50# abheben - beliebigen Betrag abheben Dabei sollen die Aktivitätsdiagramme zentrale Methoden abbilden, das Sequenzdiagramm beginnt beim Bankautomaten 6 Material zum Bankautomaten Schwerpunkte Musik und Informatik Die Konto- und Kartendaten MuLö Name ktonummer ktostand BLZ konto ,00! konto ,00! konto ,00! Name ktonummer pin BLZ krtnummer karte karte karte
17 Anwendungsfall-Diagramm: Bankautomat Liste der natürlichen Objekte System Benutzer Geldausgabe Kontostand abfragen PIN Prüfen Konto (Betrag) Karte Geld Kontonr BLZ PIN Automat Tageslimit Geld abheben Sprache Bargeldbestand Ein-/Ausgabe Kontostand + Kontoverwaltung Benutzer Die Klasse Karte Queltext der Klasse Karte pin: int kartennr: int kontonr: int blz: int Karte (c) Karte(p: int, krtnr: int, ktonr: int, b: int) gibpin(): int gibkartennr(): int gibktonr(): int gibblz(): int public class Karte { 2 3 int pin ; 4 int kartennr ; 5 int kontonr ; 6 int blz ; 7 8 Karte(int krtnr, int ktonr, int b, int p) { 9 pin = p; 0 kartennr = k r t n r ; kontonr = ktonr ; 2 b l z = b ; int gibpin () { 6 return pin ; int gibkartennr () { 20 return kartennr ; int gibkontonr () { 24 return kontonr ; int gibblz () { 28 return blz ;
18 Die Klasse Konto Quellcode der Klasse Konto kontonr: int blz: int kontostand: float Konto (c) Konto(ktonr: int, blz: int, ktostd: float) gibktonr(): int gibblz(): int gibkontostand(): float hebeab(betrag: float): boolean public class Konto { 2 int kontonr ; 3 int blz ; 4 double kontostand ; 5 6 Konto(int ktonr, int b, double d) { 7 kontonr = ktonr ; 8 blz = b; 9 kontostand = d; 0 2 int gibkontonr () { 3 return kontonr ; int gibblz () { 7 return blz ; double gibkontostand () { 2 return kontostand ; boolean hebeab(double betrag) { 25 if (kontostand > betrag) { 26 kontostand = kontostand betrag ; 27 return true ; 28 else { 29 return false ; Die Klasse KontoVerwaltung Quelltext der Klassse KontoVerwaltung Kontoverwaltung konto: Konto konto2: Konto konto3: Konto (c) Kontoverwaltung() findekonto(ktonr: int): Konto public class KontoVerwaltung { 2 3 Konto konto ; 4 Konto konto2 ; 5 Konto konto3 ; 6 7 KontoVerwaltung() { 8 konto = new Konto (747, , 200.0) ; 9 konto2 = new Konto (256, , ) ; 0 konto3= new Konto (85, , 275.0) ; 2 3 Konto findekonto ( int ktonr) { 4 if (konto.gibkontonr() == ktonr) { 5 return konto ; 6 else if (konto2.gibkontonr() == ktonr) { 7 return konto2 ; 8 else if (konto3.gibkontonr() == ktonr) { 9 return konto3 ; 20 else { 2 return null ;
19 Die Klasse BankAutomat Quellcode der Klasse BankAutomat () Bankautomat ktoverwaltung: Kontoverwaltung aktuellekarte: Karte aktuelleskonto: Konto bargeldbestand: float (c) Bankautomat() pruefepin(krt: Karte, pin: int): boolean gibktostand(): float hebeab(betrag: float): boolean beendetranskation(): void Quellcode der Klasse BankAutomat (II) Quellcode der Klasse BankAutomat (II) 75 76
20 Klassendiagramm Sequenzdiagramm pin: int kartennr: int kontonr: int blz: int Karte (c) Karte(p: int, krtnr: int, ktonr: int, b: int) gibpin(): int gibkartennr(): int gibktonr(): int gibblz(): int kontonr: int blz: int kontostand: float Konto (c) Konto(ktonr: int, blz: int, ktostd: float) gibktonr(): int gibblz(): int gibkontostand(): float hebeab(betrag: float): boolean 3 Sequenzdiagramm: BankAutomat.pruefePin(karte2, 2222) ba: BankAutomat karte2: Karte pruefepin(karte2, 2222) gibpin() true aktuellekarte: Karte gibkontonr() 256 ktoverwaltung: KontoVerwaltung konto: Konto konto2: Konto findekonto(256) gibkontonr() Bankautomat ktoverwaltung: Kontoverwaltung aktuellekarte: Karte aktuelleskonto: Konto bargeldbestand: float (c) Bankautomat() pruefepin(krt: Karte, pin: int): boolean gibktostand(): float hebeab(betrag: float): boolean beendetranskation(): void Kontoverwaltung konto: Konto konto2: Konto konto3: Konto (c) Kontoverwaltung() findekonto(ktonr: int): Konto true konto2 747 gibkontonr() Aktivitätsdiagramm BankAutomat.pruefePin() krt: Karte pin: int krt.pin == pin ergebnis = false aktuellekarte = krt finde Konto zur aktuellen Karte beendetransaktion() beendetransaktion() ergebnis aktuelleskonto!= null ergebnis = false ergebnis = true 79
Objektorientierung. Teil 1: Einführung in die Objektorientierung (aus der Java-Perspektive) Grundkonzepte objekteorientierten Programmierens mit Java
Grundkonzepte objekteorientierten Programmierens mit Java Teil 1: Einführung in die Objektorientierung (aus der Java-Perspektive) Dr. Dr., C. Uhrhan Schwerpunkte Musik und Informatik Programm 1.Tag: OO-Modellierung
MehrObjektorientierung. Teil II: Einführung in die Objektorientierte Modellierung. BlueJ und Java: Grundkonzepte objektorientierten Programmierens
BlueJ und Java: Grundkonzepte objektorientierten Programmierens 7.5.2012-9.5.2012 PL Speyer Thomas Karp, Christoph Uhrhan Teil II: Einführung in die Objektorientierte Modellierung Christoph Uhrhan Schwerpunkte
MehrGrundkonzepte objektorientierten Programmierens 2 (mit Java oder ohne) G. Noll, H. Paulus, M. Schillo, C. Uhrhan
Grundkonzepte objektorientierten Programmierens 2 (mit Java oder ohne) G. Noll, H. Paulus, M. Schillo, C. Uhrhan Organisatorisches Tag 1 Wdhl.: UML, Warteschlange Kürzeste Wege Modellierung statt Implementierung
MehrGrundkonzepte objektorientierten Programmierens 2 (mit Java oder ohne)
Grundkonzepte objektorientierten Programmierens 2 (mit Java oder ohne) G. Noll, H. Paulus, M. Schillo, C. Uhrhan Organisatorisches Tag 1 Wdhl.: UML, Warteschlange Kürzeste Wege Modellierung statt Implementierung
MehrObjektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Dr. Michael Schillo Christoph Uhrhan Gymnasium Hermeskeil 1. Einstieg: Java Ursprünge Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung
MehrUML (Unified Modelling Language) von Christian Bartl
UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...
MehrRealität zu modellieren eine
Objektorientierung Objektorientierung ist zunächst einmal eine Möglichkeit, Realität zu modellieren dem menschlichen Denken ähnliche Art, an Probleme heran zu gehen Objektorientierung ist eine Vorgehensweise
Mehr7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
MehrOOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE
OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:
Mehr10. Programmierungs-Phase: Objektorientierung Software Engineering
10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext
Mehr15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595
Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified
MehrObjektorientiertes Design
Objektorientiertes Design Beispiel-Anforderungen: Simple International (SIB) Interaktion mit der SIB: Ablauf von Interaktionen: UML Beispiel für OOD: Vorgehen Ergebnis Beispiel-Anforderungen: Simple International
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
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum
MehrUnified Modelling Language
Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme
Mehr3.2 Objekte und Klassen. Wir werden uns in diesem Kapitel näher mit Objekten und Klassen in Java beschäftigen.
3.2 Objekte und Klassen Wir werden uns in diesem Kapitel näher mit Objekten und Klassen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.2-1 Objektorientierte
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
MehrObjektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein
Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte
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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
MehrNACHRICHTENTECHNISCHER SYSTEME
Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)
MehrJava-Programmierung mit NetBeans
Java-Programmierung mit NetBeans Klassen, Objekte, Alternativen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Grundlegende Definitionen - Objekt Ein Objekt ist allgemein ein Gegenstand
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm
MehrPIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008
PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik
MehrEine 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,
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Implementieren mit Java - Schülerband Das komplette Material finden Sie hier: School-Scout.de School-Scout Der persönliche Schulservice
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
MehrProgrammieren 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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
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
MehrÜbersicht. Vorstellung des OO-Paradigmas
Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)
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
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Lauftagebuch Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 21 Erstellen einer
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
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrAlgorithmen und Datenstrukturen 06
31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung
MehrEinführung in die Programmierung mit Java. Hörsaalübung
Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung
Mehr09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
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
Mehr16. Dezember 2004 Dr. M. Schneider, P. Ziewer
Technische Universität München WS 2004/2005 Fakultät für Informatik Lösungsvorschläge zu Blatt 8 A. Berlea, M. Petter, 16. Dezember 2004 Dr. M. Schneider, P. Ziewer Übungen zu Einführung in die Informatik
MehrProgrammiertechnik Objektorientierung
Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
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
MehrObjektorientierung. Objekte
Eine Einführung G. Futschek Objekte Objekte Fragen: Wie unterscheiden sich Objekte? Wie sind Objekte einander ähnlich? Was können Objekte? Wie stehen Objekte zueinander in Beziehung? Objekte Im täglichen
MehrEinführung in die Objektorientierung
Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde 2. angebot Nein Prozedural Schleife über alle Projekte Noch was zu tun? Manager informieren... Ja Daten
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
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrEIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217
EIDI 1 Einführung in die Informatik 1 PGdP Praktikum Grundlagen der Programmierung Harald Räcke 2/217 Wie löst man Probleme mithilfe von Computern? 0 Harald Räcke 3/217 Inhalte: EIDI 1 1. Was ist das Problem?
MehrSpezifikation, Klassen, Schnittstellen in Java. 2.4 Datenabstraktion, Objektorientierung, Java
Spezifikation, Klassen, Schnittstellen in Java 2.4 Datenabstraktion, Objektorientierung, Java 2.4.1 Grundlegende Begriffe der Objektorientierung (s. auch Alp2) Klassen sind wie Module eine Einheit der
MehrInhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2
iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...
MehrObjektorientiertes Programmieren (Java)
Grundlagen Objektorientiertes Programmieren (Java) Java folgt gewissen Rechtschreibregeln die Syntax. Diese besagt, dass hinter jeden Befehl ein Semikolon( ; ) stehen muss, damit der Computer weiß, dass
MehrAbschnitt 15: Unified Modeling Language (UML)
Abschnitt 15: Unified Modeling Language (UML) 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML
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]
MehrInhalt: Version 1.7.5
Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten
MehrJava Einführung Klassendefinitionen
Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse
MehrInformatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrAufgaben. Objektorientierte Programmierung
Aufgaben Objektorientierte Programmierung 1. Baue in die Klasse Wombat eine Methode turnright() ein, damit sich der Wombat auch im Uhrzeigersinn drehen kann 2. Notiere alle Befehle (Stift und Blatt Papier
MehrInformatik 10 Objektorientiertes Modellieren und Programmieren mit Java
Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java 1. Klassen und Objekte Zunächst wollen wir mit Hilfe eines Miniprogramms die Entwicklungsumgebung BlueJkennen lernen. Die Installation
MehrÜbung Einführung in die Softwaretechnik
Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar
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
MehrUmsetzung einer Klassenkarte in einer Programmiersprache
Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,
MehrProgrammierparadigmen
Programmierparadigmen DEKLARATIV Funktional Logisch IMPERATIV Prozedural Objektorientiert Einsatz der Programmierparadigmen Systemkomplexität von der Komplexität der Algorithmen dominiert deklarativ oder
MehrUnified Modeling Language 2
Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was
Mehr2.4 Datenabstraktion und Objektorientierung Datenabstraktion in Programmiersprachen
2.4 Datenabstraktion und Objektorientierung 2.4.1 Datenabstraktion in Programmiersprachen Datenabstraktion: zur Beherrschung von Komplexität unerlässlich. In jeder Programmiersprache kann man gemäß den
MehrDie Klasse java.lang.object. Thorsten Treffer
Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:
MehrKonzept und Umsetzung
Konzept und Umsetzung oo-design- Sprache Konzepte Instanz UML eine Umsetzung der Konzepte oo-programmier- Sprache Konzepte Instanz Java eine Umsetzung der Konzepte FH AACHEN UNIVERSITY OF APPLIED SCIENCES
MehrEinführung in die Programmierung mit BlueJ
Einführung in die Programmierung mit BlueJ Thema 4 Steuerstrukturen - Verzweigungen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Daten speichern: Datenfelder Instanzvariablen,
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
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
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
MehrObjektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte
MehrFACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 5. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Objektorientierter Entwurf nach Folie 1 Folie 2 Objektorientierter Entwurf
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
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrObjektorientierte 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
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
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrII. 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
Mehr1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){
MehrTechniken der Projektentwicklungen
Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische
MehrJAVA - Methoden
Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList
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/
MehrJAVA - Methoden - Rekursion
Übungen Informatik I JAVA - Methoden - Rekursion http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 Methoden Methoden sind eine Zusammenfassung von Deklarationen und Anweisungen
MehrObjektorientierte Modellierung (1)
Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
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
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2012/2013, SS 2013 Programmieren I + II Regeln der Code-Formatierung Die hier vorgestellten
MehrChristoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing
Christoph Kecher, Alexander Salvanos UML 2.5 Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden? 17 1.2 Die Phasen bei der Softwareentwicklung
Mehr3.3. Rekursive Datentypen
3.3. Rekursive Datentypen class Element int info; Element naechster;... Element element = new Element(); element.info = 1; element.naechster = new Element(); element.naechster.info = 2; Erläuterung: Objekte
Mehr! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -
! 1. Rekursive Algorithmen! 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Ausdruck Ausdruck Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ Ausdruck ] ( Ausdruck
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java Das komplette Material finden Sie hier: Download bei School-Scout.de
Mehr