Vertiefung der Programmierung

Klassendiagramme

Objektorientierung Wiederholung

đź“‹ Aufgaben

 

Diskussion in 2er-Teams:
 

  1. Welche Vorteile hat Objektorientierung
    bei der Programmierung?

     
  2. Hat Objektorientierung auch Nachteile?

2 min

Unified Modeling Language

  • Unified Modeling Language (UML) ist eine graphische Modellierungssprache
  • ​Initiatoren: Object Management Group (OMG)
  • Nutzung fĂĽr
    • Spezifikation,
    • Konstruktion und
    • Dokumentation von Software​
  • UML ist Quasistandard bei objektorientierter Programmierung
  • Graphische Notationen (Diagramme) fĂĽr
    • statische Strukturen
    • dynamische Abläufe

UML-Diagramme Ăśbersicht

Quelle: Gemeinfrei

Fokus: VProg

siehe auch:  Softwaretechnik

Klassendiagramm 

  • Klassendiagramme beschreiben Struktur eines Systems

 

  • stellen statische Aspekte dar:
    • Struktur:
    • Verhalten:
    • Beziehungen von Objekten
pencil

live

Komponenten (Klassendiagramm)

Person

pencil

live

Komponenten (Klassendiagramm)

Person

- firstname: String

- lastname: String

+ Person(firstname: String, lastname: String)

+ setLastname(name: String) : void

+ public

# protected

-  private
 

Klassenname

Datentyp

}

Attribute

}

Methoden

RĂĽckgabetyp

Parameter
mit Typ

Zugriffs-
modifizier

Programm-Code (zu geg. Klassendiagramm)

class Person {
    private String firstname;
    private String lastname;

    public Person(String firstname, String lastname) {
        this.firstname = firstname;
        this.lastname = lastname;
    }
    
    public void setLastname(String name) {
    	this.lastname = name;
    }
}

Person

- firstname: String

- lastname: String

+ Person(firstname: String, lastname: String)

+ setLastname(name: String) : void

Wichtiges Lernziel in VProg

Generalisierung (Vererbung)

Person

# firstname: String

# lastname: String

+ Person(firstname: String, lastname: String)

+ setLastname(name: String) : void

Student

- id: String

 

+ Student(firstname: String,
                  lastname: String, id: String)


Student erbt
von Person

Generalisierung
(Vererbung)

ggf. anpassen
(siehe Vorlesung
Zugriffsmodifizierer)
 

✍️ Aufgabe 1 

5 min

Erstelle ein Klassendiagramm fĂĽr die
Elternklasse Fahrzeug und die Kindklasse Auto.

Anforderungen:

  • Fahrzeug: Attribut modell (+Getter), Konstruktor
  • Auto: Attribut kmStand (+Getter), Konstruktor
pencil

live

⌨️ Aufgabe 2 - Implementierung

10 min

âś… Zusammenfassung

  • Was ist UML?
  • Was sind Klassendiagramme?
  • Vererbung in Klassendiagrammen
     
  • ⚠️ Wichtig fĂĽr VProg
    • ​Verstehen von Klassendiagrammen
    • Klassendiagramm in Code ĂĽberfĂĽhren​

 

Klassendiagramme

By blackbill

Klassendiagramme

  • 179