zoukankan      html  css  js  c++  java
  • 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这个关键字,只能在类的方法中使用,而不能在类的外部使用.

     

     

     

     

     

     

     

     

  • 相关阅读:
    ajax专题
    luogu P1346 电车 最短路
    luogu P1462 通往奥格瑞玛的道路 最短路
    luogu P1328 生活大爆炸版石头剪刀布
    luogu P1315 联合权值 枚举
    luogu P1156 垃圾陷阱 背包问题
    luogu P1217 回文质数 枚举
    luogu P3650 滑雪课程设计 枚举
    luogu1209 修理牛棚 贪心
    luogu P1223 排队接水 贪心
  • 原文地址:https://www.cnblogs.com/lsqbk/p/10374579.html
Copyright © 2011-2022 走看看