Thread OOP: Instanz ja oder nein (10 answers)
Opened by rosti at 2012-12-07 10:37

rosti
 2012-12-07 11:36
#164017 #164017
User since
2011-03-19
3470 Artikel
BenutzerIn
[Homepage]
user image
2012-12-07T10:11:49 GwenDragon
Ich verwende bei fehlerhaftem Aufruf ein undef als return-Wert, meinetwegen noch als Liste mit weiterem Fehlerocde-/-meldung.

Wieso muss ein Konstruktor bei Fehlern eine gültige Instanz zurück geben? Ist das bei Programmierung/OOP so üblich oder nur für PHP-Leute?


Bei PHP-Leuts wird getrennt zwischen
- Objekterstellung, das ist _immer_ new
und
- Konstruktor (der initialisiert die Instanz)

D.h.,
- PHP::new() liefert _immer_ eine Instanz
- der Konstruktor gibt gar nichts zurück

PHP-People behaupten, dass das in anderen oo-Sprachen auch so sei.

Was Muffi über die Müllabfuhr schreibt, ist gut zu wissen.

Und weil Perl so schön ist, was das Werfen von Exceptions betrifft:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
sub new{
        my $self = bless{}, shift; # sorry, I'm hurry
        return eval{
                # von hier
                        # stehen alle Initialisierungen, die eine
                        # Exception werfen können
                # bis hier
                $self; # das geht return, wenn bis hier alles gutgegangen ist
        };
}

View full thread OOP: Instanz ja oder nein