Präsentation herunterladen
Veröffentlicht von:Leon Zentgraf Geändert vor über 10 Jahren
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 ...
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.