Ist dieses OOP Design gut?
-
Meinst du etwa, dass wie bei C# alle Objekte von "Object" (bzw. CBase) abgeleitet sind, und diese Methoden wie "ToString", "Clone" etc. bereitstellt?
-
Jo, also alle globalen Funktionen werden in einer Klasse zusammengefasst, von der jede Klasse erbt.
-
Ich finde es nicht gut wenn alle Klassen einer Bibilothek von einer Oberklasse erben (siehe CObject bei den MFC oder Object in Java).
-
Ja, ich auch nicht, ich werde ein anderes Design nehmen, das Design, das ich am Anfang darstellen wollte, ist aber sowieso ein anderes, daher egal. :xmas1:
-
Das so umzusetzen wie in Java oder C# nützt dir IMHO eh nichts. In Java (und C#?) macht das deshalb Sinn, weil man dann seine Instanz mit '+' mit einem String verknüfen kann.
Das setzt natürlich voraus, dass eine Methode toString() vorhanden ist, daher die Ableitung von Object. In C++ ist das ohnehin nicht so ohne weiteres möglich, daher macht das dort meiner Meinung nach auch keinen Sinn.
-
Optimizer schrieb:
Das setzt natürlich voraus, dass eine Methode toString() vorhanden ist, daher die Ableitung von Object. In C++ ist das ohnehin nicht so ohne weiteres möglich, daher macht das dort meiner Meinung nach auch keinen Sinn.
Nope, man muss eine Klasse in Java für eine toString-Methode nicht von Object ableiten.
-
Hab ich auch nicht behauptet. Jede Klasse ist automatisch von Object abgeleitet. Du kannst es gar nicht verhindern.
-
ack, hatte etwas schnell gelesen.
-
MaSTaH schrieb:
Ich finde es nicht gut wenn alle Klassen einer Bibilothek von einer Oberklasse erben (siehe CObject bei den MFC oder Object in Java).
Was ist daran schlecht?
-
bIce schrieb:
MaSTaH schrieb:
Ich finde es nicht gut wenn alle Klassen einer Bibilothek von einer Oberklasse erben (siehe CObject bei den MFC oder Object in Java).
Was ist daran schlecht?
Wie wäre es mit:
std::swap<Object>(klaus_meier, atom_uboote[4]);
-
Dann gibt es halt ein klaus_meier_atom_uboot :P.
:xmas1: @all