© iStockphoto.com/P2007, © S&S Media
Olis bunte Welt der IT

Olis bunte Welt der IT


Objektorientierte Programmierung hat ihre Vorteile, aber manchmal ist es schwierig, sich diese zunutze zu machen. Wer dann stur bei den Grundideen bleibt, der macht sich zusätzliche Arbeit!

Wir haben das alle irgendwann gelernt, als wir mit der Programmierung begonnen haben: Der Hund stammt ab vom Tier, wie auch Fisch und Vogel. Der Hund hat Fell und Zähne, der Vogel stattdessen Federn. Alle Tiere (oder jedenfalls alle in diesem Beispiel) können sich bewegen, aber Art und Durchführung der Bewegung sind spezifisch. So kann der Vogel fliegen und der Hund laufen; Schwimmen ist für Hund und Fisch möglich, aber eben doch sehr unterschiedlich in der Implementierung.

So erklärt man dem beginnenden Programmierer die objektorientierte Programmierung. Darauf basierend werden dann Klassensysteme gebaut, zu meiner Zeit etwa in Turbo Pascal, was dann so ähnlich aussah wie in Listing 1. Ich erinnere mich an die Syntax von Turbo Pascal nur noch vage, muss ich zugeben. Das macht aber nichts. Der Punkt hier ist, dass bei den ersten Schritten in der objektorientierten Programmierung mehrere wichtige Details vermittelt wurden. Erstens: Eine Klasse stellt einen Mechanismus zur Kapselung dar. Die Fellfarbe des Hundes etwa ist in Listing 1 als private markiert und damit nur dem Hund selbst bekannt. Das ist vermutlich nicht ganz realistisch modelliert, dient aber als Beispiel für eine von der Klasse gekapselte Information, die von außen nur über eine eventuell vorhandene Schnittstelle zugänglich ist.

Listing 1

type Animal = class public constructor Create(); procedure Move(); end; type Dog = class(Animal) private furColor: String; public constructor Create(); overload; procedure Move(); overload; procedure Run(); end;

Kapseln ist wichtig

Kapselung war zum Zeitpunkt der Erfindung der objektorientierten Programmierung etwas sehr Wichtiges für die Anhänger der prozeduralen Programmierung. Vielleicht erinnern Sie sich wie ich an erste Schritte in Basic oder auch an Programme in C: Da war Kapselung schwierig oder gar unmöglich, und eine Absicherung gegen die versehentliche Änderung von globalen Variablen konnte nur durch Programmiererdisziplin erreicht werden. Genauer gesagt, solch eine Absicherung war praktisch unmöglich und manche Anwendung, die von einem Team entwickelt wurde, litt entsprechend unter drastischen Stabilitätsproblemen.

Der zweite wichtige Punkt in dem einfachen Beispiel oben ist, dass Klassen Informationen und Verhalten kombinieren. Darauf wurde immer besonders hi...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang