OBJEKTORIENTIERTE PROGRAMMIERUNG

(OO Grundlagen und deren Umsetzung in Java, C#, Smalltalk und PL/I)



 

ALFRED BERINGER

 


 

INHALTSVERZEICHNIS


    Von den nachfolgenden Kapiteln werden nur die Kapitel 1, 3, 8, 12 und 13, die Unterkapitel 2.5 (einfache Beispiele in Java, C# und Smalltalk), 2.7.1 (Parameterübergabe), 4.4 (komplexes Beispiel in Java, C# und Smalltalk), 5.19.1 (try-catch-Beispiel Java), 6.1 (Dateiverarbeitung Java), 9.19.1 (try-catch-Beispiel C#), 10.1 (Dateiverarbeitung C#), sowie alle Swing-Beispiele aus Kapitel 7 im WWW veröffentlicht.
    Das Fachbuch OBJEKTORIENTIERTE PROGRAMMIERUNG, das alle Kapitel enthält, kann jedoch direkt beim Autor bestellt werden.

  1. EINFÜHRUNG
    1. Geschichte der objektorientierten Programmiersprachen
    2. Das Schema einer objektorientierten Programmierumgebung
    3. Anwendungsarchitektur
    4. Anwendungsgebiete und Vorteile der Objektorientierung

  2. OBJEKTE, KLASSEN UND INSTANZEN
    1. Instanzattribut - Klassenattribut, Instanzmethode - Klassenmethode
    2. Variable
      1. Wertetypen und Referenztypen (Referenzen)
    3. Unified Modeling Language (UML)
      1. OO-Entwurfs- und Analysemodelle: Grundlage für die Programmierung
        1. Kommentare
      2. Die Diagramme der UML 2
        1. Strukturdiagramme (statische Diagramme)
        2. Verhaltensdiagramme (dynamische und funktionale Diagramme)
      3. Klassendiagramme (statische Strukturdiagramme)
        1. UML-Syntax für Attribute und Methoden
        2. Namenskonventionen
      4. Objektdiagramme (Instanzdiagramme)
    4. Definition einer Klasse in Java, C# und Smalltalk
    5. Klassenbeispiele
      1. Java
      2. C#
      3. Smalltalk
    6. Assoziation (statische Beziehung)
      1. Darstellung einer Assoziation im Klassendiagramm
      2. Spezielle Assoziationen: Aggregation und Komposition
    7. Kommunikation (dynamische Beziehung) - Nachrichten
      1. Parameter und Parameterübergabe
        1. Parameterübergabe in Java, C# und Smalltalk
      2. Nachrichten (Botschaften)
      3. Kommunikationsdiagramme
      4. Nachrichten in Java, C# und Smalltalk
        1. Konstruktoren

  3. WAS IST EIN OBJEKTORIENTIERTES PROGRAMM?
    1. Einfache Programmbeispiele für "Zähler", "Datum", "Auto"

  4. DIE DREI GRUNDPRINZIPIEN DER OOP
    1. Geheimnisprinzip (Datenkapselung, "Information Hiding")
    2. Vererbung (Single-Source-Prinzip, "Inheritance")
      1. Grafische Darstellung der Vererbung in UML
      2. Abstrakte (virtuelle) Klassen und Methoden; Schnittstellen ("Interfaces")
      3. Faktorisierung
      4. Überschreiben (Überlagern) und Überladen
      5. Vererbung in Java, C# und Smalltalk
      6. Methodensuche ("method look-up") bei Vererbung
    3. Polymorphie (Polymorphismus, "Cooperation By Objectives")
      1. Methodensuche ("method look-up") bei Polymorphie
    4. Beispiel "Personen - Mitarbeiter - Organisationen"
      1. Klassendefinitionen - Java
      2. Klassendefinitionen - C#
      3. Klassendefinitionen - Smalltalk
      4. Anwendungsprogramm in Java, C# und Smalltalk

  5. JAVA PLATTFORM STANDARD-EDITION 8.0
    1. Java Virtual Machine (JVM, JRE) und weitere Werkzeuge des JDK
    2. Syntax von Namen, Namenskonventionen
    3. Pakete ("package")
    4. Klassen ("class") und Schnittstellen ("interface")
    5. Metadaten (Anmerkungen - "annotation")
    6. Aufzählungen (Enummerationen - "enum")
    7. Gültigkeitsbereich und Zugriffsarten
    8. Die Klasse "Object"
    9. Konstruktoren
      1. Kopieren von Instanzen einer Klasse
      2. Private Konstruktoren
    10. Elementare (primitive) Datentypen und Zeichenketten
      1. Die Klassen "String", "StringBuilder und "StringBuffer"
      2. Konvertierungen - Typumwandlungen ("casting")
      3. Autoboxing - Autounboxing
    11. Datum und Zeit
      1. Datum und Zeit im Paket java.sql
    12. Die Klassen "Math", "System" und "Random"
    13. Literale
      1. Zahlen
      2. Zeichen
        1. WHITESPACE-Zeichen
      3. Zeichenketten
      4. Spezielle Literale
    14. Definition von Variablen
      1. Instanz- und Klassenvariable
      2. Lokale (temporäre) Variable
      3. (Formale) Parameter und Parameterübergabe
      4. Spezielle Variable (Pseudovariable)
        1. this
        2. super
    15. Definition von Methoden und Nachrichten
    16. Ausdrücke und Anweisungen (Befehle)
      1. Operatoren
        1. Zuweisungen
      2. Kommentare
      3. Blöcke
      4. Auswahl und Fallunterscheidung
      5. Wiederholungen (Schleifen)
        1. Kopf- und fußgesteuerte Schleifen (WHILE- und UNTIL- bzw. REPEAT-Schleifen)
        2. Zählergesteuerte Schleifen (FOR-Schleifen)
        3. Aufzählungsschleifen (FOR-EACH-Schleifen)
    17. Arrays
    18. Das Java-Collections-Framework
      1. Schnittstelle "List"
      2. Schnittstelle "Set"
      3. Schnittstelle "Map"
    19. Ausnahme- und Fehlerbehandlung - "Exceptions"
      1. Die Behandlung von Ausnahmebedingungen ("try-catch"-Anweisung)
    20. Threads

  6. EIN-/AUSGABE VON DATEN – DATEIVERARBEITUNG IN JAVA
    1. Beispiel
      1. Model-Klasse "Schueler" für Daten
      2. DAO-Klassen
        1. Klasse "DAOerfassenSchueler" für Datenerfassung (Standardeingabe)
        2. Klasse "DAOschreibenSchueler" für Speichern von Daten in einer Datei
        3. Klasse "DAOlesenSchueler" für Lesen von Daten aus einer Datei
        4. Klasse "DAOausgebenSchueler" für die Ausgabe von Daten (Standardausgabe)
      3. Anwendungsprogramme
        1. Anwendungsklasse für Daten erfassen und speichern
        2. Anwendungsklasse für Daten lesen und ausgeben
      4. Allgemeines Klassendiagramm für die DAO-Klassen
    2. Serialisierung

  7. GRAFISCHE BENUTZEROBERFLÄCHEN (GUI) UNTER JAVA - SWING
    1. Die Ereignisschleife ("Message Loop")
    2. Standardfenster in Windows
    3. Abstract Windowing Toolkit (AWT) und Swing Toolset
      1. Klassenhierarchie der AWT- und Swing-Komponenten
    4. Programmskelette für ein einfaches Hauptfenster
      1. Klassendefinition für Hauptfenster (Swing JDK 1.2, AWT ab JDK 1.1)
        1. Klasse für GUI-Code (Fenster)
        2. Klasse für Anwendungscode (Ereigniswächter)
        3. Klassendefinition mit lokaler (innerer) Klasse
        4. Klassendefinition mit anonymer (innerer) Klasse
      2. Hauptprogramm für eine GUI-Applikation
    5. Das MVC-Modell
      1. Anwendungs- bzw. Datenschicht (Modell - DOMAIN MODEL)
      2. Präsentationsschicht (Ansicht - VIEW)
      3. Kontrollschicht (Steuerung - CONTROL)
      4. Beispiel: Fenster mit Label und Buttons
        1. Klassendefinition des Fensters mit Ereigniswächter (View und Control)
        2. Klassendefinition des Fachobjekts (Model)
        3. Hauptprogramm
    6. Layout-Manager
      1. Null-Layout
      2. Aufbau (Layout) eines Fensters
    7. Das Java-Ereignis-Modell 1.1
      1. Ereignis ("Event")
      2. Ereignis-Wächter ("Event-Listener" und "Event-Adapter")
      3. Klassendiagramm für das Java-Ereignis-Modell 1.1
    8. Swing-Beispiele
      1. Mausbewegungen
        1. Klassendefinition des Hauptfensters mit Ereigniswächtern
      2. Musterfenster mit vordefinierten grafischen Komponenten
        1. Klassendefinition des Hauptfensters mit Ereigniswächtern
        2. Klassendefinition des Fachobjekts (Model)
      3. Aufbau und Verwendung von Menüs
        1. Klassendefinition des Hauptfensters mit Ereigniswächtern
    9. Internationalisierung – Lokalisierung – Parametrisierung
      1. Properties-Datei
      2. Internationalisierung und Lokalisierung
      3. Parametrisierung
      4. Beispiel: Fenster mit Label und Buttons
        1. Statische Klasse für Ressource- und Properties-Konstante
        2. Internationalisierte Klassendefinition des Fensters
        3. Ressource-Dateien für lokalisierte Konstante
        4. Properties-Datei für nichtlokalisierte Konstante
    10. Modale Dialogfenster
      1. Ressource- und Properties-Dateien
      2. Statische Klasse für Ressource- und Properties-Konstante
      3. Klasse für das Elternfenster mit Ereigniswächter (Hauptfenster)
      4. Klasse für das Kindfenster mit Ereigniswächter (Dialogfenster)

  8. JDBC ("JAVA DATABASE CONNECTIVITY")
    1. Beispiel
      1. SQL-Skript für die Beispiel-Datenbank "schueler"
      2. Verbindung zur Datenbank
        1. Statische Klasse für Properties-Konstante (Verbindungsparameter zur Datenbank)
        2. Klasse für Verbindung zur Datenbank und für Erzeugung von 'PreparedStatement'-Objekten
        3. Properties-Datei für Verbindungsparameter zur Datenbank
      3. DAO-Klassen
        1. Klasse DAOschreibenDBSchueler (Datensätze einfügen - INSERT)
        2. Klasse DAOlesenSchuelerDB (Datensätze auswählen - SELECT)
      4. Anwendungsprogramme
        1. Anwendungsklasse für Daten erfassen und speichern
        2. Anwendungsklasse für Daten lesen und ausgeben

  9. C# 5.0 UND .NET FRAMEWORK 4.5
    1. Common Language Runtime (CLR) – Assembly
      1. CLR und C#
    2. Syntax von Namen, Namenskonventionen
    3. Namensbereiche ("namespace")
    4. Klassen, Strukturen und Schnittstellen
      1. Strukturen ("struct")
    5. Metadaten (Attribute - Attributklassen)
    6. Aufzählungen (Enummerationen - "enum")
    7. Gültigkeitsbereich und Zugriffsarten
    8. Die Klasse "Object"
    9. Konstruktoren
    10. Elementare Datentypen und Zeichenketten
      1. Die Klassen "String" und "StringBuilder"
      2. Konvertierungen - Typumwandlungen ("casting")
      3. Autoboxing - Autounboxing
    11. Datum und Zeit
    12. Die Klassen "Math", "Console", "Environment" und "Random"
    13. Literale
    14. Definition von Variablen
      1. Instanz- und Klassenvariable
      2. Lokale (temporäre) Variable
      3. (Formale) Parameter und Parameterübergabe
      4. Spezielle Variable (Pseudovariable - "this" und "base")
    15. Definition von Methoden und Nachrichten
      1. Eigenschaften ("Properties")
    16. Ausdrücke und Anweisungen (Befehle)
      1. Operatoren
      2. Kommentare
      3. Blöcke
      4. Auswahl und Fallunterscheidung
      5. Wiederholungen (Schleifen)
    17. Arrays
    18. Das .NET-Collections-Framework
    19. Ausnahme- und Fehlerbehandlung - "Exceptions"
      1. Die Behandlung von Ausnahmebedingungen ("try-catch"-Anweisung)

  10. EIN-/AUSGABE VON DATEN – DATEIVERARBEITUNG IN C#
    1. Beispiel
      1. Model-Klasse "Schueler" für Daten
      2. DAO-Klassen
        1. Klasse "DAOerfassenSchueler" für Datenerfassung (Standardeingabe)
        2. Klasse "DAOschreibenSchueler" für Speichern von Daten in einer Datei
        3. Klasse "DAOlesenSchueler" für Lesen von Daten aus einer Datei
        4. Klasse "DAOausgebenSchueler" für die Ausgabe von Daten (Standardausgabe)
      3. Anwendungsprogramme
        1. Anwendungsklasse für Daten erfassen und speichern
        2. Anwendungsklasse für Daten lesen und ausgeben

  11. SMALLTALK UND VISUALWORKS 7.10.1
    1. Das Image (die Image-Datei)
      1. Pakete ("package") und Paketbünde ("bundle")
      2. Posten (Bibliothek, "parcel")
      3. Protokolle ("protocol")
      4. Das Hauptfenster von VisualWorks
      5. Der System-Browser von VisualWorks
    2. Syntax von Namen, Namenskonventionen
    3. Namensbereiche ("namespace")
    4. Die Klassen "Object" und "Undefinedobject"
    5. Die Klassen "Boolean", "True" und "False"
    6. Die Klassen "Character" und "String"
    7. Die Klasse "Number"
    8. Literale
      1. Zahlen
      2. Zeichen
      3. Zeichenketten
      4. Symbole
      5. Array von Literalen
      6. Array von Byte-Literalen
      7. Spezielle Literale
    9. Variable
      1. Gemeinsame Variable ("Shared Variable")
      2. Klasseninstanzvariable
      3. Instanzvariable
      4. Temporäre (lokale) Variable
    10. Konstante, Parameter und spezielle Variable (Pseudovariable)
      1. Konstante
      2. Parameter
      3. Spezielle Variable (Pseudovariable)
        1. self
        2. super
    11. Ausdrücke und Anweisungen (Befehle)
      1. Kommentare
      2. Zuweisungen
      3. Nachrichten (Botschaften)
        1. Unäre Nachrichten
        2. Binäre Nachrichten
        3. Schlüsselwort-Nachrichten
        4. Verkettung von Nachrichten (Präzedenzregeln)
        5. Kaskaden
      4. Blöcke
      5. Auswahl
      6. Wiederholungen (Schleifen)
        1. Kopf- und fußgesteuerte Schleifen (WHILE- und UNTIL- bzw. REPEAT-Schleifen)
        2. Zälergesteuerte Schleifen (FOR-Schleifen)
    12. Die Klasse "Collection"
      1. Methoden
      2. Arrays
      3. Die Vererbungshierarchie der Klasse "Collection"

  12. NICHTOBJEKTORIENTIERTE SPRACHEN - PL/I

  13. RESERVIERTE WORTE IN JAVA, C#, C++, C UND SMALLTALK


 

Download der Beispiele aus dem Buch


 


 

Java-Dokumentation der Java-Beispiele aus dem Buch


 



Alle Rechte vorbehalten


Fachbuchbestellung:

Dieses Fachbuch ist im Eigenverlag BERINGER erschienen und kann zu einem Preis von

23,00 EURO + Versandkosten

direkt vom Autor bezogen werden.

Die Versandkosten betragen bei einer Sendung mit 1 Buch 5,70 EURO,
bei einer Sendung mit 2 oder 3 Büchern aus dem Sortiment des Eigenverlags 7,20 EURO.
Bei einer Sendung mit 4 oder mehr Büchern aus dem Sortiment des Eigenverlags entfallen die Versandkosten vollständig.

In Österreich werden die Fachbücher per Nachnahme zugeschickt.
Aufgrund der sehr hohen Nachnahmegebühren außerhalb Österreichs können Fachbücher ins Ausland nur gegen vorherige Bezahlung zugeschickt werden. Die Kontonummer wird in diesem Fall nach Eingang der Bestellung bekanntgegeben.

Bestellungen können per Email (siehe nachfolgende Adresse) an Beringer Alfred gesendet werden.


Der Autor

Alfred Beringer

Email-Adresse:
aberinger Klammeraffe gmx Punkt at


Weiter
zum Vorwort
zu Kapitel 1
Zurück
an den Anfang dieser Seite
an den Anfang des Inhaltsverzeichnisses
zur Fachbuchbestellung
Zur
Java-Dokumentation der Java-Beispiele