classSomething{
var$x;
functionSomething($y){
$this->x=$y;
}
functionsetX($v){
$this->x=$v;
}
functiongetX(){
return$this->x;
}
}
?>
所以可以用如下方法创建对象:
$obj=newSomething(6);
构造函数自动赋值
5 给成员变量 x,构造函数和成员函数都是普通的 PHP 函数,所以你可
以使用缺省参数。
functionSomething($x="3",$y="5")
然后
:
$obj=newSomething();//x=3andy=5
$obj=newSomething(8);//x=8andy=5
$obj=newSomething(8,9);//x=8andy=9
缺省参数的定义方法和
C 一样,因此你不能传一个值给 Y 但让 X 取缺省值,实参的传
递是从左到右,当没有更多的实参时函数将使用缺省参数。
只有当继承类的构造函数被调用后,继承类的对象才被创建,父类的构造函数没有被
调用,这是
PHP 不同其他面向对象语言的特点,因为构造函数调用链是面向对象编程的特
点。如果你想调用基类的构造函数,你不得不在继承类的构造函数中显式调用它。这样它能
工作是因为在继承类中父类的方法全部可用。
functionAnother(){
$this->y=5;
$this->Something();//explicitcalltobaseclassconstructor.
}
?>
在面向对象编程中一种好的机制是使用抽象类,抽象类是一种不能实例化而是用来给