Objekt-First: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
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. | ||