IT-Academy Logo
Sign Up Login Help
Home - Programmieren - OOP Basics



OOP Basics

Dieser Artikel beschreibt die Grundlagen der objektorientierten Programmierung (OOP). Dabei wird auf Begriffe wie Klassen, Objekte, Eigenschaften und Methoden eingegangen.


Autor: Patrick Bucher (paedubucher)
Datum: 17-05-2007, 22:18:10
Referenzen: keine
Schwierigkeit: Anfänger
Ansichten: 5162x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Objektorientierte Programmierung

Strukturierte Programmiersprachen wie C sehen eine strikte Trennung von Daten und Anweisungen vor. Daten werden durch Variablen und Strukturen repräsentiert, Anweisungen können zu Funktionen zusammengefasst werden. Man hat also zwei Teile, die zwar von einander abhängig sind, jedoch nicht als eine logische Einheit implementiert werden können.

Aus dieser Problematik ist die objektorientierte Programmierung (kurz: OOP) entstanden. Daten und Anweisungen können nun in sog. Klassen zusammengehalten werden und bilden so nicht nur eine logische, sondern auch eine physische Einheit. Der Zugriff auf die Daten kann dabei eingeschränkt bzw. geschützt werden. Dies bezeichnet man als Datenkapselung. Hier bei gilt der folgende, wichtige Merksatz:

In einer objektorientierten Anwendung sollten alle Eigenschaften vor Zugriffen von aussen geschützt sein und nur über die öffentlichen Methoden (Schnittstelle) verändert werden können!

Man spricht dann von Eigenschaften oder Membervariablen (Variablen die zu einem Objekt gehören) und Methoden oder Memberfunktionen (Funktionen die zu einem Objekt gehören).

Als die populärsten Objektorientierten Programmiersprachen gelten Java, C++ und C#. Aber auch viele Skriptsprachen bieten (mehr oder weniger) objektorientierte Möglichkeiten, so z.B. Python, PHP und Perl.

Klassen

Das wichtigste Konstrukt in der OOP ist die Klasse. In einer Klasse wird angegeben, welche Daten diese beinhaltet und wie diese verarbeitet werden können. Eine Klasse ist oftmals eine Abstraktion eines Sachverhalts aus der Umwelt. Mit Klassen kann man z.B. die Funktionalität eines Geräts oder einer Schnittstelle definieren, den Zugriff auf eine Datei verwalten oder auch triviale Dinge aus der realen Welt wie z.B. Katzen und Autos besser abbilden (Abstraktion).

Eine Klasse wird nicht direkt vom Programmierer verwendet, sondern ist nur ein Bauplan für Objekte.

Objekte

Damit ein Programmierer eine Klasse auch wirklich verwenden kann, muss aus dieser zuerst ein Objekt erstellt werden. Diesen Vorgang bezeichnet man als Instanziierung – ein Objekt ist eine Instanz einer Klasse. Aus einer Klasse können beliebig viele Objekte erstellt werden, ein Objekt kann jedoch nur aus einer einzigen Klasse erstellt werden.

Eigenschaften

Die Daten eines Objekts werden durch Eigenschaften repräsentiert. Eine Eigenschaft ist dabei nichts anderes, als eine einfache Variable, welche von der ganzen Klasse verwendet werden kann und somit nicht auf eine einzige Funktion beschränkt ist.

Eine Eigenschaft kann gegen aussen geschützt werden, es ist jedoch auch möglich, dass verschiedene Klassen auf eine Eigenschaft einer Klasse zugreifen können.

Objektstatus

Die Gesamtheit aller Eigenschaften eines Objekts bezeichnen wir als dessen Status oder Objektstatus.

Methoden

Um die Funktionalität einer Klasse zu definieren, werden Methoden verwendet. Eine Methode ist nicht anderes, als eine Funktion, die innerhalb einer Klasse steht.

Methoden können auch in ihrer Sichtbarkeit eingeschränkt werden, sodass diese nur von der Klasse aus sichtbar ist, in welcher sie auch tatsächlich steht. Schränkt man Methoden in ihrer Sichtbarkeit hingegen nicht ein, so kann sie auch von anderen Klassen her aufgerufen werden.

Methodensignatur

Die Signatur einer Methode besteht aus dem Namen der Methode und der Liste der Parameter mit ihren Datentypen. Sie identifiziert eine Methode innerhalb einer Klasse eindeutig. Der Rückgabewert einer Methode ist nicht Bestandteil der Methodensignatur!

Vererbung

Klassen können von anderen Klassen abgeleitet werden. Dies bezeichnet man als Vererbung. Die erbende Klasse (Unterklasse) erbt die gesamte Funktionalität und die Daten der vererbenden Klasse (Oberklasse, Superklasse) und kann dieser weitere Funktionalität hinzufügen. Sie kann jedoch auch Funktionalität aus der Oberklasse überschreiben.

Vererbung wird genutzt, um eine bestimmte Klasse (Oberklasse) zu erweitern und/oder zu spezialisieren.

Kapselung

Die Daten eines Objekts (Eigenschaften) werden in der OOP für den Zugriff nach aussen geschützt. Damit man Daten aus einem Objekt lesen und/oder manipulieren kann, werden Methoden verwendet, welche den Zugriff auf die Daten kapseln.

Eine Klasse hat also genaue Kontrolle darüber, von wem und vor allem wie ihre Daten verwendet werden.

Die drei Säulen der objektorientierten Programmierung

Die Eigenschaften der objektorientierten Programmierung lassen sich auf die folgenden drei Kriterien zusammenfassen:

  1. Kapselung

    • Eigenschaften werden innerhalb einer Klasse verborgen.

    • Auf Eigenschaften wird eine öffentliche Schnittstelle angeboten.

  2. Vererbung

    • Klassen können auf Basis bestehender Klassen erstellt werden.

    • Eine Klasse kann die Funktionalität einer anderen Klasse erben.

  3. Polymorphie

    • Sprachelemente können vielgestaltig sein.

    • Objekte erfüllen Aufgaben für verschiedene Anwendungszusammenhänge.



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04505
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06241
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1140
Comments: 0