Objekt-First: Unterschied zwischen den Versionen

 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 7: Zeile 7:
Die reale Welt besteht aus [[Objekt|Objekten]] (Autos, Kunden, Rechnungen). Der Objekt-First-Ansatz erlaubt es uns, diese realen Konzepte sofort in [[Quellcode|Code]] abzubilden. Schüler verstehen schnell, dass ein [[Objekt]] [[Zustand]] ([[Attribut|Attribute]]) und Verhalten ([[Methode|Methoden]]) besitzt. Dies ist intuitiver als abstrakte prozedurale [[Anweisung|Anweisungen]].
Die reale Welt besteht aus [[Objekt|Objekten]] (Autos, Kunden, Rechnungen). Der Objekt-First-Ansatz erlaubt es uns, diese realen Konzepte sofort in [[Quellcode|Code]] abzubilden. Schüler verstehen schnell, dass ein [[Objekt]] [[Zustand]] ([[Attribut|Attribute]]) und Verhalten ([[Methode|Methoden]]) besitzt. Dies ist intuitiver als abstrakte prozedurale [[Anweisung|Anweisungen]].


2. Kapselung von Anfang an: 🛡️
2. Kapselung von Anfang an:
Schüler lernen direkt, dass [[Daten]] (private [[Attribut|Attribute]]) und die Operationen auf diesen Daten (öffentliche [https://wiki.flbk-hamm.de/Methode#Sondierende_Methode Getter] und [[https://wiki.flbk-hamm.de/Methode#Ver%C3%A4ndernde_Methode|Setter]]) zusammengehören. Das fördert von Anfang an das grundlegende [[Objektorientierung|objektorientierte]] Prinzip der Kapselung.
Schüler lernen direkt, dass [[Daten]] (private [[Attribut|Attribute]]) und die Operationen auf diesen Daten (öffentliche [https://wiki.flbk-hamm.de/Methode#Sondierende_Methode Getter] und [[https://wiki.flbk-hamm.de/Methode#Ver%C3%A4ndernde_Methode Setter]]) zusammengehören. Das fördert von Anfang an das grundlegende [[Objektorientierung|objektorientierte]] Prinzip der Kapselung.


3. Vermeidung des "Static-Main-Problems": 🚫
3. Vermeidung des "Static-Main-Problems":
Der prozedurale Start im leeren public static void main(String[] args) erzeugt eine künstliche Welt, in der alles [[static]] sein muss. Schüler tun sich später schwer zu verstehen, wann sie [[Instanz|Instanzen]] (new Objekt()) erstellen müssen und wann nicht. Beim Objekt-First-Ansatz wird die Instanziierung zum Standard.
Der prozedurale Start im leeren public static void main(String[] args) erzeugt eine künstliche Welt, in der alles [[static]] sein muss. Schüler tun sich später schwer zu verstehen, wann sie [[Instanz|Instanzen]] (new Objekt()) erstellen müssen und wann nicht. Beim Objekt-First-Ansatz wird die Instanziierung zum Standard.


4. Bessere [[Projekt]]struktur: 🏗️
4. Bessere [[Projekt]]struktur:
Der Ansatz erzwingt von Beginn an eine saubere Struktur, bei der Logik in thematisch getrennten [[Klasse|Klassen]] liegt. Dies bereitet optimal auf größere Berufsprojekte vor.
Der Ansatz erzwingt von Beginn an eine saubere Struktur, bei der Logik in thematisch getrennten [[Klasse|Klassen]] liegt. Dies bereitet optimal auf größere Berufsprojekte vor.