您的位置:首页 > 编程语言 > Python开发

python map()练习小实例

2015-03-02 09:13 357 查看
大家也许对PHP5面 向对象已经不再陌生,虽然对一些问题的反映虽然加强了很多,但还有很多东西比起java的面向对象弱了很多。有些东西甚至让人费解,就比如下面的PHP5 面向对象代码,b extends a ,实例化b时a的构造函数却没执行?不知道实例化b时,PHP到底是怎么执行的呢?

请看代码:

class a{

public function __construct(){

echo "a";

}

}

class b extends a {

public function __construct(){

parent

echo "b";

}

private $x = 100;

public function getx(){

return $this->x;

}

}

$liu = new b();

echo $liu->getx();

结论:

1 b extends a 实例化b时,如果子类b有自己的构造函数,那么只执行b的构造函数,不会自动执行父类a的构造函数,如果想在实例化子类b的时候也同时执行父类a的构造函数,必须在子类

b的构造函数里加一段代码执行父类的构造函数:parent::__construct();

2 b extends a 实例化b时,如果子类b没有自己的构造函数,那么子类就会自动执行父类a的构造函数。

本文出自 “小胖子” 博客,请务必保留此出处http://xiaopzi.blog.51cto.com/3222504/975036
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: