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

第67+68讲 php面向对象编程 this 以及构造方法

2017-07-18 10:35 393 查看

this

系统会给每个对象分配this,代表当前对象,与java中this表示一致。(同时涉及构造方法)

- 1、this本质可以理解为当前对象地址;−2、谁调用this,表示的就是谁的对象地址;

- 3、$this不能在类外部使用。

<?php

class BaseClass{
public function __construct(){
echo "---> BaseClass"."<br/>";
}
}
class Person extends BaseClass{
public $name;
public $age;

public function __construct($iname,$iage){
parent::__construct();//如果当前类继承字父类,父类的构造方法如果想执行必须被显示调用
$this->name = $iname;
$this->age=$iage;
echo "我是构造方法";
}
//php5里边 类名构造方法和 __construct 构造方法可以同时存在但是默认只生效一个
public function Person(){
}
//已经定义了构造方法不能多个定义只能保留一个
//public function __construct(){}//这个需要注释掉了
public function showInfo(){
echo "<br/>";
echo "方法:".$this->name."<br/>".$this->age;
}
}

$p1 = new Person("武松","30岁");
$p1->showInfo();
?>




假设 代码中没有写构造方法,那么系统默认会有一个,如果自身再次定义了之后那么默认的构造方法就没有了。

类的构造方法:

构造方法和类名相同(php4),在php5中可以是类名,也可以是__construct()

构造方法没有返回值

构造方法主要完成对对象的初始化,并不是创建对象本身

在创建对象后,系统自动调用构造方法

一个类有且只有一个构造方法,在php5后虽然类名构造方法和__construct()可以同时存在,但是实际上也是仅仅能使用其中一个。

如果没有给类自定义构造方法,当前类则使用默认构造方法。

如果给当前类定义了构造方法,则该类的默认构造方法被覆盖。

构造方法的默认修饰符是public。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: