php构造方法(函数)基础

Posted OH-MY-GOD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php构造方法(函数)基础相关的知识,希望对你有一定的参考价值。

什么是构造函数呢?在回答这个问题之前,我们来看一个需求:我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就指定这个对象的年龄和姓名,该怎么做?

面试题:这里可以说成构造函数的作用就是用来完成属性的初始化

构造函数的基本介绍

基本语法

class  类名{

//构造函数

访问修饰符 function  __construct(形参列表){

//可以对成员属性进行初始化.

}

}

说明

(1) 构造函数的访问修饰符可以是 public , protected, private , 一般情况下是public ,默认就是public

(2) __construct 是关键字,不能修改, __ 是两个_ 下划线。

(3) 构造函数没有返回值, 即没有return

(4) 构造函数是系统调用的,程序员不能显示调用

案例(代码展示)

<?php
    header(\'content-type:text/html;charset=utf-8\');
    //构造函数

    class Person{
        
        public $name;
        public $age;
        public $food;

        //构造函数
        public function __construct($in_name, $in_age, $in_food){
            
            echo \'<br> \' . $in_name . \' \' . $in_age;
            //将输入的参数,赋值给成员属性
            // $this 表示当前对象, 谁调用我,$this就指向哪个对象
            $this->name = $in_name;
            $this->age = $in_age;
            $this->food = $in_food;

            //打印一下$this 这个值
            echo \'<pre> 在构造函数中 \';
            var_dump($this);  //查看这个$this是个什么鬼        
        }
    }

    //下面这句话,就会让系统自动的调用 构造函数
    $p1 = new Person(\'白骨精\', 1000, \'小孩\');

    echo \'<pre>\';
    var_dump($p1);

构造函数的细节和注意事项

*构造函数没有返回值,即没有return, 就算写了也没有用处

*在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化

*构造函数的作用是完成对成员属性的初始化任务,而不是创建对象本身. 所以以后在oop编程中,需要对成员属性进行初始化,则将这段代码放在构造函数中即可

*在一个类中,构造函数有且只能有一个, 如果定义多个,就会报错.

 

默认构造函数

如果在类中,没有定义构造函数,那么会有一个默认的构造函数,形式如下,举例说明

l 如何将一个对象的属性输出并显示

说明: 通过上面的案例,我们了解两个重要的点

(1) 如何显示成员属性的值

(2) 深刻理解了$this 的指向当前调用对象的特点.

 

this的使用注意事项

 

this这个关键字,只能在类的方法中使用,而不能在类的外部使用.

 

 

 

 

 

 

 

 

以上是关于php构造方法(函数)基础的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 中创建构造函数的代码片段或快捷方式

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

java基础第五天

PHP基础入门

在 php 中调用类方法(带构造函数)而不实例化对象