par
Invité » 01 août 2007, 10:33
lisant la doc j'ai vu cela ce matin
Note: Les constructeurs parents ne sont pas appelés implicitement si la classe enfant définie un constructeur. Si vous voulez utiliser un constructeur parent, il sera nécessaire de faire appel à parent::__construct().
Exemple 19.8. Exemple d'utilisation des nouveaux constructeurs unifiés
<?php
class BaseClass {
function __construct() {
print "In BaseClass constructor\n";
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructor\n";
}
}
$obj = new BaseClass();
$obj = new SubClass();
Or si on appel pas le constructeur parent il s'exécute quand même, l'exemple précédent l'exécute deux fois.
class BaseClass {
function __construct() {
print "In BaseClass constructor\n";
}
}
class SubClass extends BaseClass {
function __construct() {
//parent::__construct();
print "In SubClass constructor\n";
}
}
$obj = new BaseClass();
$obj = new SubClass();
Comment cela se fait-il ?
C'est la doc ou c'est moi qui va pas ?
lisant la doc j'ai vu cela ce matin
[quote]Note: Les constructeurs parents ne sont pas appelés implicitement si la classe enfant définie un constructeur. Si vous voulez utiliser un constructeur parent, il sera nécessaire de faire appel à parent::__construct().
Exemple 19.8. Exemple d'utilisation des nouveaux constructeurs unifiés
[php]<?php
class BaseClass {
function __construct() {
print "In BaseClass constructor\n";
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructor\n";
}
}
$obj = new BaseClass();
$obj = new SubClass();[/php][/quote]
Or si on appel pas le constructeur parent il s'exécute quand même, l'exemple précédent l'exécute deux fois.
[php]class BaseClass {
function __construct() {
print "In BaseClass constructor\n";
}
}
class SubClass extends BaseClass {
function __construct() {
//parent::__construct();
print "In SubClass constructor\n";
}
}
$obj = new BaseClass();
$obj = new SubClass();[/php]
Comment cela se fait-il ?
C'est la doc ou c'est moi qui va pas ?