Was ist Generalisierung?

Generalisierung ist eines der Kernkonzepte der objektorientierten Programmierung. Die Objektorientierte Softwareentwicklung nutzt generalisierte Klassen und Objekte um gemeinsame Eigenschaften (Attribute) und Funktionen (Methoden) in logischen Einheiten zu bündeln.

Generalisierung als Konzept der objektorientierten Programmierung

Generalisierung als Konzept der objektorientierten Programmierung

Was ist ein generalisierter Objektentwurf?

Von einem generalisierten Objektentwurf spricht der Informatiker immer dann, wenn Objekte durch eine eigenständige Klasse darstellbar sind. Die Generalisierung führt logisch zusammengehörige Objekteigenschaften in einer Objektklasse zusammen. so dass aus dieser Klasse

Vorteile der Generalisierung fuer die Programmierung

  • deutliche Reduktion des Programmieraufwands
  • übersichtliche und verständliche Objektklassen
  • konsequente Objektorientierung
  • Spezialisierung durch Klassenerweiterungen

Generalisierung und die Superklassen / Subklassen

Das Klassendiagramm oben zeigt den Vorgang, der in der objektorientierten Programmierung als Generalisierung bezeichnet wird. Objekte mit gemeinsamen Eigenschaften werden zu einer allgemeineren Kategorie, der sogenannten Superklasse, zusammengefasst. Der Pfeil des Klassendiagramms zeigt dieses generalisierte Zusammenfassen an. Umgekehrt bezeichnet der Informatiker etwa “Auto” als Subklasse von “Fahrzeuge”.

Spezialisierung und Erweiterung

Erweiterung: Natürlich ist es möglich und sinnvoll unsere Fahrzeughierarchie noch weiter zu generalisieren. Alle Fahrzeuge – egal ob Zweiräder, Pkw oder auch Flugzeuge – teilen gewissen Eigenschaften.  Wir können also in Richtung einer übergeordneten Superklasse “Transportmittel” erweitern und alle unsere bestehenden Fahrzeuge sowie zusätzlich auch Luft- und Wasserfahrzeuge ergänzen.

Spezialisierung: Wenn wir unserer Modell verfeinern wollen, indem wir weitere Klassen wie “Sportwagen”, “Limosine” oder “Kombi” ergänzen, so definieren wir diese spezialisierten Klassen als Subklassen der bereits existierenden Klasse “Auto”. Die Spezialisierung beruht auf dem gleichen Konzept, nur das sich der Programmierer im Klassenbaum logisch von oben nach unten arbeitet.

Objektorientierung und Agile Softwareentwicklung

Einer der größten Vorteile der Objektorientierung in der Programmierung ist die beliebige Wiederverwendbarkeit definierter Programmlogik. Objektressourcen stehen in Form vielfältigster Objektklassen zur freien Verwendung.

Jetzt lesen: Wie Du Software agil entwickelst und deine Softwareprogramme leicht portierbar gestaltest.

Objektorientierung und Agile Softwareentwicklung

Einer der größten Vorteile bei konsequenter Objektorientierung ist die beliebige Wiederverwendbarkeit definierter Programmlogik. Objektressourcen stehen in Form vielfältigster Objektklassen zur freien Verwendung.

Moechtest Du mehr ueber Softwareentwicklung & Programmierung lernen?

Mit unserem Projekt Rock the Prototype unterstützen wir aktiv das Prototyping von Software. Am besten lernst Du gute Software zu entwickeln indem Du Dir einen iterativen, prototypischen Softwareentwicklungsprozess aneignest.

Software Prototyping - Rock the Prototype

Software Prototyping – Rock the Prototype

Unser kostenloses Angebot fuer Dich: Rock the Prototype!

Unsere Community Initiative Rock the Prototype bietet Dir – kostenlos – eine Chance neue Technologien mit anderen im Team zu entwicklen und in der Praxis zu erproben.

rock-the-prototype.com

rock-the-prototype.com

Das darfst Du von Rock the Prototype erwarten:

Die Community Rock the Prototype ist Deine Chance um…

:check_mark: Deine Programmierfähigkeiten zu erweitern,

indem Du gemeinsam mit anderen

:check_mark: lernst technische Herausforderungen effektiv zu lösen,

:check_mark: neue Ideen und Fähigkeiten entwickelst und

:check_mark: wertvolle neue agile Methoden & Konzepte lernst

:check_mark: Lass Dich von anderen Entwicklern inspirieren!

Unser Motto ist: Coding is fun – im Team entsteht der beste Code!

:check_mark: Du wirst neue Konzepte und Best Practices entdecken,

:check_mark: Deine IT-Skills vertiefen und

:check_mark: Neues erlernen!

Ähnliche Eintraege