zoukankan      html  css  js  c++  java
  • PHP面向对象编程构造方法

    在类中自定义构造方法的基本语法:

    //php5这样
    [修饰符]function __construct([参数列表]){ }
    //php4 这样
    [修饰符]function 类名([参数列表]){
                
            }

    看个列子就很好理解了:
    <?php
    
        class Person{
        
            public $name;
            public $age;
    
            //构造方法 php5 
            public function __construct($name,$age){
                
                $this->name=$name;
                $this->age=$age;
            }
    
            //构造方法 php4   写在这里是php5为了兼容PHP4
            public function Person($name,$age){
                
                $this->name=$name;
                $this->age=$age;
            }
    
            
        }
    
        $p1=new Person("老大",27);
        echo $p1->name;
        $p1=new Person("小二",26);
        $p1=new Person("小三",24);
    
    ?>

    注意地方:

    $this 的理解:

    1、$this 本质可以理解就是这个对象的地址

    2. 哪个对象使用到$this, 就是哪个对象地址

    3. $this不能在类外部使用
     
    对构造方法的理解:
    • 构造方法名和类名相同(php4版),php5版的构造方法名可以和类名相同,也可以是__construct()
    • 构造方法的默认访问修饰符是public,同时构造方法没有返回值
    • 创建新对象成功后,系统自动的调用该类的构造方法   
    • 一个类有且只有一个构造方法,在php5后虽然__construct()  和 类名() 可以共存,但是实际上也只能使用一个。
    • 果没有给类自定义构造方法,则该类使用系统默认的构造方法
    • 如果给类自定义了构造方法,则该类的默认构造方法被覆盖。


  • 相关阅读:
    Codeforces Round #384 (Div. 2)
    Codeforces Round #383 (Div. 2)
    bzoj-4514(网络流)
    bzoj-4518 4518: [Sdoi2016]征途(斜率优化dp)
    bzoj-1096 1096: [ZJOI2007]仓库建设(斜率优化dp)
    hdu-5988 Coding Contest(费用流)
    hdu-5992 Finding Hotels(kd-tree)
    用链表实现杭电1276士兵队列训练问题
    循环链表
    图书管理系统
  • 原文地址:https://www.cnblogs.com/pwm5712/p/2975207.html
Copyright © 2011-2022 走看看