Getter und Setter (Teil 2) - Objektorientierung: Kapselung/Vererbung/Polymorphie

In Teil 2 meines Kurses zu den drei Säulen der Objektorientierung verhindern wir den direkten Zugriff auf die Attribute unserer Klassen und führen stattdessen separate Methoden zum Zugriff ein: Getter und Setter. In diesen Methoden ist u.a. eine Validierung möglich, was dazu führt, dass die Objekte unserer Klassen immer in einem gültigen Zustand sind.
----
Deine Hausaufgabe:
Mache alle Attribute in Klasse Kaffeeautomat private.
Initialisiere sie mit sinnvollen Standardwerten.
Lege Getter für alle Attribute an.
Hinweis: Das kann Eclipse automatisch machen: Rechtsklick - Source - Generate Getters and Setters
Erstelle einen Setter für die Bezeichnung. Hier sollen alle nicht-leeren Werte erlaubt sein.
Erstelle einen Setter für die Kaffeesorte. Hier sollen nur "Kaffee", "Cappuccino" und "Espresso" erlaubt sein.
Erstelle einen Setter für den Füllstand. Hier sollen nur Werte zwischen 0 und 100 erlaubt sein.
Ersetze das Setzen der Attribute in Klasse Kantine durch Aufrufe der Setter.
----
00:00 Einleitung
00:18 Bisheriger Stand: Attribute sind public
01:08 Problem: Attribute sind manipulierbar
02:41 Zugriff auf Attribute einschränken
04:06 Methoden für den Zugriff auf Attribute
04:35 Lesen und Schreiben unterscheiden
05:43 Getter zum Liefern von Attributwerten
06:30 Setter zum Setzen von Attributwerten
07:29 Konvention: Getter und Setter
08:03 Aufbau von Gettern und Settern
08:46 Implementierung von Gettern und Settern
09:02 Getter und Setter generieren
10:02 Vergleich mit public Attributen
11:04 Vorteile von Gettern und Settern
11:58 Validierung in Settern
12:56 Konsistenter Zustand durch Setter
13:43 Alle Setter validieren ihre Parameter
15:57 Was bringt das jetzt alles?
16:43 Richtige Kapselung
18:56 Hausaufgabe 02

Пікірлер: 12

  • @lisa-gt3bf
    @lisa-gt3bf2 ай бұрын

    Aufgewacht und ein neues Video. Kann der Tag besser starten? 😊danke für die unermüdliche Arbeit ❤

  • @user-ry4pt6oe2u
    @user-ry4pt6oe2u2 ай бұрын

    Die Prüfung Teil 2. war schrecklich, 🙏🏽eine 5 würde mir reichen😅 jetzt hilft nur noch beten.

  • @makerspace6636
    @makerspace66362 ай бұрын

    Hallo, ist es effizienter wenn ich die Variablen auf private belasse und einen Konstruktor baue, der beim Anlegen eines Objekts vom Typ der Klasse Auto gleich den Hersteller und die Farbe festlege. Einen Setter für beide Attribute erstelle ich nicht. Somit kann später auch Hersteller und Farbe nicht manipuliert werden.

  • @StefanMacke

    @StefanMacke

    2 ай бұрын

    Gute Idee! Das KÖNNTE in Teil 3 der Videoreihe kommen! ;-)

  • @user-cj4iw8oz8f
    @user-cj4iw8oz8f2 ай бұрын

    Heute die Prüfungen geschrieben und ich bin komplett fertig. Ich muss sagen, dass ich die Universität angenehmer empfunden habe als die IHK Prüfungen. 😅

  • @StefanMacke

    @StefanMacke

    2 ай бұрын

    Ui! :-D

  • @podolevro3436

    @podolevro3436

    2 ай бұрын

    Prüfung Teil 2 Entwicklung und Umsetzung von Algorithmen von heute war nicht schlecht. Eine 6 ist ziemlich sicher. 😵‍💫 Planen eines Softwareproduktes und WiSo waren easy

  • @StefanMacke

    @StefanMacke

    2 ай бұрын

    @@podolevro3436 Bin gespannt auf die Aufgaben. Ich korrigiere am 08.05. mit.

  • @user-cj4iw8oz8f

    @user-cj4iw8oz8f

    2 ай бұрын

    @@podolevro3436 Ja genau, Teil 2 hat mein Leben genommen ich hatte komplett Blackout gehabt. Ich hoffe, dass ich wenigstens bestanden habe oder zur mündlichen Ergänzungsprüfung zugelassen werde.

  • @user-cj4iw8oz8f

    @user-cj4iw8oz8f

    2 ай бұрын

    @@podolevro3436 Ich finde es echt krass, wie schnell man sich in fachlich in eine Aufgabe einarbeiten soll. Also es geht nicht um die Anwendung der Technik wie SQL oder Pseudocode etc. aber diese extrem dummen Fachlichkeiten "ala Textaufgaben" sind einfach nervig.