Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Implementierung Umsetzung OO Konzepte in JAVA

Ähnliche Präsentationen


Präsentation zum Thema: "Implementierung Umsetzung OO Konzepte in JAVA"—  Präsentation transkript:

1 Implementierung Umsetzung OO Konzepte in JAVA
JAVA *.java C++ C++ public class Projekt { private String Bezeichnung; private Date Termin; public Projekt(String bez, Date ter) { } } public class Auftraggeber private String FirmenName; private String Ort; private Hashtable BeauftragteProjekte; ... Projekt Bezeichnung Termin Projekt() 0..* leer Beauftragt 1 Auftraggeber FirmenName Ort Aggregation beauftragt() storniert()

2 Implementierung der Methoden in JAVA
JAVA *.java C++ C++ public class Auftraggeber { private String FirmenName; private String Ort; private Hashtable BeauftragteProjekte; public Projekt beauftragt(String bez, Date term) Projekt neuPrj = new Projekt(bez, term); BeauftragteProjekte.put(bez, neuPrj); return neuPrj; } ...

3 Tätigkeiten der Implementierung "Programmieren im Kleinen"
Konzeption von Datenstrukturen und Algorithmen Verfeinerung Dokumentation der Problemlösung Zeit- und Speicherkomplexität bestimmen Test oder Verifikation

4 Ergebnisse der Implementierung
.java C++ C++ public class Projekt { private String Bezeichnung; private Date Termin; Quellcode Objektcode Testprotokoll, Testplan .class C++ C++ .doc C++ C++ Testcase 123: Zeitnachweis erfassen Vorbedingung:

5 Programmierfehler Eine Klassifikation
Quelle: Grams 90, S.19 Programmierfehler Irrtümer Schnitzer überindividuell (Denkfallen) individuell angeborenes Verhalten erlerntes Verhalten Begabung Ausbildung

6 Prinzipien der Implementierung
Verbalisierung Schrittweise Verfeinerung Integrierte Dokumentation Problemadäquate Datentypen

7 Verbalisierung Aussagekräftige Namensgebung
C++ C++ // wenig aussagekräftige Bezeichner Feld1, Liste, Zähler // besser Messreihe1, BestellPositionen, AnzahlAnZeichen problemfreie, technische Bezeichner problembezogene Bezeichner

8 Verbalisierung Aussagekräftige Namensgebung
C++ C++ // Berechnung einer Prämie P = G1 + Z * D; // besser Prämie = Grundprämie1 + Zulage * Dienstjahre; Ohne Aussagekraft, zu kurz klar

9 Verbalisierung Symbolische Konstanten
C++ C++ // Konstante Prämie = * Dienstjahre; // besser final float Grundprämie = 50.0; final float Zulage = 10.0; Prämie = Grundprämie + Zulage * Dienstjahre; unverständliche Konstante klar

10 Verbalisierung integrierte Kommentare
C++ C++ // i um eins erhöhen i = i + 1; // besser Menge = Menge + 1; sagt bereits der Programmcode dokumentierender Programmcode

11 Integrierte Dokumentation Programmkopf
C++ C++ /** * class Kunde * Auftraggeber in der Projektverwaltung * Daniela Worel V1.0 IT Kompaktkurs * state akzeptiert */ class Kunde ...

12 Problemadäquate Datentypen z.B. Aufzählungstyp
C++ C++ // schlecht int stand; // 1=ledig, 2=verheiratet,… // besser enum Familienstand {ledig,verheiratet,geschieden,verwitwet}; Familienstand stand; // noch besser class Familienstand { public boolean isLedig() {} ...

13 Abstrakte Datentypen z.B. Familienstand
C++ C++ // enumeration class class Familienstand { private int Stand; public boolean isLedig() {} public boolean isVerheiratet() {} public void setVerheiratet() {} public void setGeschieden() {} ... }

14 Entwurfsmuster Beobachter
Observable from java.util 1 * <interface> Observer from java.util hat > addObserver() deleteObserver() notifyObservers() View- Familienstand Familienstand isVerheiratet() isGeschieden() setVerheiratet() ... update ()

15 Implementierung des Beobachtermusters in JAVA
C++ C++ class Familienstand extends Observable { public void setVerheiratet() { ... notifyObservers(); } ... } class ViewFamilienstand implements Observer ...


Herunterladen ppt "Implementierung Umsetzung OO Konzepte in JAVA"

Ähnliche Präsentationen


Google-Anzeigen