时间:2021-07-01 10:21:17 帮助过:19人阅读
⑧构造方法的默认访问修饰符是public
2、在php 5 中一个类可以同时有 两种形式的构造方法:
construct() 和 类名() , 当两个同时存在的时候,优先调用construct(), 请大家以后使用construct()
两种构造函数如下:
- publicfunction construt(){//函数体;}
- publicfunction 类名(){//函数体;}
PHP4中只能有一种形式的构造函数:
- public
- function 类名()
- {
- //函数体;
- }
3、构造方法注意事项:
(1)一旦自定义了一个构造函数,默认的构造函数就被覆盖了,这时在创建对象的时候就要使用自定义的构造函数.
(2)一个类只能有一个构造函数.(不能重载)
4、构造方法代码实例:
- <?php
- //屏蔽程序 notice 级错误
- error_reporting(E_ALL^E_NOTICE);
- //php面向对象编程之构造方法:
- class Person1{
- public $name;
- public $age;
- }
- $p1=new Person1();
- //再给属性赋值
- $p1->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, 就是传递哪个对象地址;
- <span style="white-space:pre">
- </span>//this就相当于传的是地址,把上面$name的地址传过来了而不是再新建一个$name变量
- //注意:$this只能在类中使用,不能在类外部使用.
- $this->name=$iname;
- $this->age=$iage;
- echo "执行构造方法<br/>";
- }
- }
- $p1=new Person2("张清",90);
- echo "我是".$p1->name."--我现在的年龄是".$p1->age."<br/>";
- $p2=new Person2("宋江",33);
- echo "我是".$p2->name."--我现在的年龄是".$p2->age."<br/>";
- class Cat
- {
- //每一个类中必须有一个构造方法,若我们不定义,系统会自动生成
- //若不定义构造方法,则该类使用系统默认的构造方法,类中默认的构造方法如下:
- function construt()
- {
- }
- }
- $cat1=new Cat();
- ?>
以上就是php:构造方法的说明详解的详细内容,更多请关注Gxl网其它相关文章!