php面向对象之构造函数作用与方法

什么是构造函数呢?构造函数又有什么作用呢?

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。

可能上面的描述大家还是不能很清楚的了解,我们就举例子向大家讲解下。

构造函数的用法实例

我们先创建一个类,并且初始化这个类。

1

2

3

4

5

6

7

8

9

10

11

class Preson{

public $name;                     //定义变量

public $age;

public $sex;

public $height;

}

$Preson1 = new Preson();

$Preson1->$name = "大白";        //变量赋值

$Preson1->$age = 20;

$Preson1->$sex = "女";

$Preson1->$height = 180;

可以看到,上述例子中赋值过程比较繁琐,如果变量很多的话,工作量将会非常大,很麻烦。所以,我们引入了构造方法。所以构造函数的作用就是用来初始化对象的。该方法可以没有参数,也可以有多个参数。定义构造函数也很简单,__construct(),值得注意的是函数construct前面是两个下划线"_".

了解了构造函数之后,我们用构造函数来重写上面的例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

class Preson{

public $name;                     //定义变量

public $age;

public $sex;

public $height;

function __construct($name,$age,$sex,$height){

$this->name = $name;         //为变量赋值

$this->age = $age;

$this->sex = $sex;

$this->height = $height;

}

public function PlayBaskteBall(){

if($this->height>175 || $this->age < 22){

return    $this->name . "可以打篮球";

}else{

return $this->name . "不具备打球的条件";

}

}

}

$Preson1 = new Preson("大白","20","女","180");

echo $$Preson1->PlayBaskteBall();

构造方法是初始化对象时使用的,如果没有构造方法,那么PHP会自动生成一个。自动生成的构造方法没有任何参数,没有任何操作。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,构造函数是用来创建对象的特殊函数。通过使用构造函数,我们可以定义一个对象的属性和方法构造函数可以使用new操作符来调用,并生成一个特殊类型的对象构造函数面向对象的语言中很常见,如Java、C++、PHP等。 要创建一个构造函数,我们可以使用function关键字,并在函数体内定义对象的属性和方法。例如,下面是一个构造函数Person,它有name和age属性以及sayName方法: function Person(name, age) { this.name = name; this.age = age; this.sayName = function () { console.log(this.name); } } 通过使用new操作符来调用构造函数,我们可以创建一个新的对象,并将属性和方法添加到该对象上。例如,下面的代码创建一个名为person的对象,并调用其sayName方法来打印出名字:"Nicholas"。 let person = new Person("Nicholas", 29); person.sayName(); // 输出:"Nicholas" 需要注意的是,如果不使用new操作符调用构造函数,它就会被当作普通函数来调用,并将属性和方法添加到全局对象(在浏览器环境中通常是window对象)上。这可能会导致意外的结果。 例如,下面的代码在全局作用域中调用了Person函数,并将属性和方法添加到window对象上。然后,我们调用window对象上的sayName方法,输出结果为:"Greg"。 Person("Greg", 27); window.sayName(); // 输出:"Greg" 因此,在使用构造函数创建对象时,务必记得使用new操作符来调用构造函数,以确保正确地创建对象并将属性和方法添加到新创建的对象上。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值