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


    php面向对象之构造函数作用与方法
    作者: default|标签:PHP 面向对象 构造函数|2017-4-7 14:33
    什么是构造函数呢?构造函数又有什么作用呢?

    构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与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会自动生成一个。自动生成的构造方法没有任何参数,没有任何操作。

    以上就是php面向对象之构造函数作用与方法的详细内容,更多请关注php中文网其它相关文章!

  • 相关阅读:
    《数据结构与算法之美》01——系统高效地学习数据结构与算法
    Cookie:SameSite,防止CSRF攻击
    HeadFirst学习笔记-2.观察者(Observer)模式
    HeadFirst学习笔记-1. 设计模式入门
    Redis深入解析系列一:sql与nosql比较
    MySQL优化系列2-索引原理和优化
    MySQL优化系列1-MySQL体系结构
    java集合-ArrayList中EMPTY_ELEMENTDATA与DEFAULTCAPACITY_EMPTY_ELEMENTDATA的区别
    java集合ArrayList中modCount的作用
    java中的System.arraycopy
  • 原文地址:https://www.cnblogs.com/whowhere/p/8418182.html
Copyright © 2020-2023  润新知