Thread Eigenschaften von Objekten, private, nichtprivate, schreibgeschützte (23 answers)
Opened by rosti at 2025-05-27 10:17

rosti
 2025-06-06 12:57
#197038 #197038
User since
2011-03-19
3617 Artikel
BenutzerIn
[Homepage]
user image
Quote
subklassen dürfen attribute anders verwenden als die eltern. Das verstöst auf jeden fall gegen Liskov und auch gegen meine selbstaufgestellte Regel für maximal Klarheit im Code.


Finde ich nicht. Vielmehr finde ich (mittlerweile * s.u.), daß die Elterklasse gar keine Attribute braucht und nur Methoden definiert.

Betrachten wir folgende new der Basisklasse meines FW:

Code (perl): (dl )
1
2
3
4
5
sub new{
    my $class = shift;
    my %self = @_;
    return bless \%self, $class;
}


Dieser Konstruktor ist universell. Beim Aufruf kann man beliebige Eigenschaften einbauen, also die auf die abgeleitete Klasse zugeschnittenen Eigenschaften. Und diese Vorgehensweise ist nicht einmal von mir, sämtliche Tie::Std-Klassen, insbesondere Tie::StdHash funktionieren nach diesem Grundsatz.

* Das hat die Revision meiner Klassenentwürfe ergeben: Ich habe tatsächlich nicht eine Klasse die Eigenschaften vererbt.
Last edited: 2025-06-07 17:30:44 +0200 (CEST)
http://blog.rolfrost.de/

The art of steam.

View full thread Eigenschaften von Objekten, private, nichtprivate, schreibgeschützte