/ www.portalsuite.de / Support / Portunity Portalsuite / Handbuch / 9 Einführung in die Portalsuite Objects / 9.2 Einführung in die PortalsuiteObjects


Abstrakte Klassen

Viele Klassen werden in der OOP nur definiert, damit andere Klassen von diesen abgeleitet werden können. Solche Klassen bezeichnet man als "Abstrakte Klassen".

Der Hauptgrund warum „Abstrakte Klassen" definiert werden ist, daß durch abstrakte Klassen Mehrfachprogrammierungen und -code vermieden werden können. Zum anderen liegt der Grund für „Abstrakte Klassen“ oft auch in der Konzeption und Hierarchie der Klassen begründet.

Als Beispiel seien hier die beiden Objekte PUser und PGroup genannt. Beide Klassen könnten auch direkt vom Objekt PObject abgeleitet sein, statt dessen stammen Sie vom gemeinsamen Vorfahren PObjectUG ab. Die abstrakte Klasse PObjectUG wurde eingeführt, da PUser und PGroup einige Eigenschaften und Methoden gemeinsam haben. Beide Objekte müssen z.B. prüfen, ob Sie zu bestimmten Uhrzeiten oder von bestimmten IP-Adressen zugelassen sind. Diese Gemeinsamkeiten sind der Grund für die abstrakte Klasse PObjectUG, in der diese Gemeinsamkeiten codemäßig verankert wurden. PUser und PGroup enthalten nur noch indivudellen Programmcode, um den Klassen die individuelle Funktionalität zu verpassen.

Eine Instanz von einer abstrakten Klassen zu definieren bringt i.d.R. keinen allzugroßen Nutzen. Eine Instanz von PObjectUG, nennen wir sie z.B. myPObjectUG, hat keinen Bezug zu reelen Daten der Portalsuite, sondern enthält lediglich allgemeine Funktionen z.B. zur Prüfung der IP-Adresse u.ä. myPObjectUG, macht also keinen wirklichen Sinn.



[zurück] - [bookmarken] - [Druckversion] - [Weiterempfehlen] - [Kontakt] - [Impressum]





Providing unter: http://portunity.net

DSL, ENUM, Hosting, Server,...



unter: enum-center.de