php构造方法什么时候使用,php:构造方法的说明详解

1、构造方法的8点说明:

①构造方法名和类名相同(php4版),php5版的构造方法名可以和类名相同,也可以是construct()

②构造方法没有返回值

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

④在创建新对象后,系统会自动的调用该类的构造方法,不需要自己写代码调用

⑤一个类有且只有一个构造方法,在php5后虽然construct() 和 类名() 可以共存,但是实际上也只能使用一个。

⑥如果没有给类自定义构造方法,则该类使用系统默认的构造方法。 */

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

⑧构造方法的默认访问修饰符是public

2、在php 5 中一个类可以同时有 两种形式的构造方法:

construct() 和 类名() , 当两个同时存在的时候,优先调用construct(), 请大家以后使用construct()

两种构造函数如下:

publicfunction construt(){//函数体;}

publicfunction 类名(){//函数体;}

PHP4中只能有一种形式的构造函数:

public

function 类名()

{

//函数体;

}

3、构造方法注意事项:

(1)一旦自定义了一个构造函数,默认的构造函数就被覆盖了,这时在创建对象的时候就要使用自定义的构造函数.

(2)一个类只能有一个构造函数.(不能重载)

4、构造方法代码实例:

name="宋江";

$p1->age=33;

//this的理解:

class Person2

{

public $name;

public $age;

//这个就是构造方法,php5独有

public function construct($iname,$iage)

{

//这里如果我们直接用$name,$age,系统认为我们是创建了两个新的变量

//$name=$iname;

//$age=$iage;

//此处的$this->name、$this->age则解决了以上问题,加上$this之后该变量就是指上面创建的成员属性;

//$this 本质可以理解就是这个对象的地址,哪个对象传递时使用到$this, 就是传递哪个对象地址;

//this就相当于传的是地址,把上面$name的地址传过来了而不是再新建一个$name变量

//注意:$this只能在类中使用,不能在类外部使用.

$this->name=$iname;

$this->age=$iage;

echo "执行构造方法

";

}

}

$p1=new Person2("张清",90);

echo "我是".$p1->name."--我现在的年龄是".$p1->age."

";

$p2=new Person2("宋江",33);

echo "我是".$p2->name."--我现在的年龄是".$p2->age."

";

class Cat

{

//每一个类中必须有一个构造方法,若我们不定义,系统会自动生成

//若不定义构造方法,则该类使用系统默认的构造方法,类中默认的构造方法如下:

function construt()

{

}

}

$cat1=new Cat();

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值