zoukankan      html  css  js  c++  java
  • php课程 12-38 php的类的构造方法和析构方法怎么写

    php课程 12-38 php的类的构造方法和析构方法怎么写

    一、总结

    一句话总结:a、__construct(参数){},__destruct(){},b、如果类中的一个方法和类名相同,则该方法为构造方法

    1、$this->name和$this->$name的区别是什么?

    前者是这个对象的属性,后者是这个对象的变量,所以对象调用属性的时候,属性前面不能加$

    2、$user1=new Person()后面的Person为什么加圆括号,不加也是对的?

    这个圆括号是类的构造方法的圆括号,用来给构造方法传值的

    3、为什么类中的构造方法从类名相同方法变成了__construct?

    因为这样类名改变的时候不用再去改构造方法的名字,方便

    4、创建对象时时候是$user1,$user2,$user3,为什么回收(比如析构函数)的时候是$user3,然后是$user2,最后是$user1?

    因为放变量的时候是把指针放到栈中,然后指向堆中的实际内存,所以栈中的存放方式是先进后出

    二、php的类的构造方法和析构方法怎么写

    1、相关知识

    OOP是什么:
    面向对象编程

    软件工程的三大目标:
    重用性、灵活性和扩展性

    面向对象三大特性:
    封装、继承和多态

    面向对象参与角色:
    1.类
    2.对象

    类与对象的关系:
    对象是从类中实例化(生产)出来的!
    类的组成成员:
    1.属性
    2.方法

    类实例化对象实例:
    $obj=new Person();

    对象调用成员:
    $obj->say();
    echo $obj->name;

    调用属性注意事项:
    $obj->name;    #属性前不能带$

    类定义注意事项:
    1.文件名要与类名相同
    2.类名每个单词的首字母必须大写,是最为严格的驼峰式写法
    3.驼峰式:personActionGoodLike,严格的驼峰式写法:PersonActionGoodLike

    构造方法:
    1.__construct();
    2.Person(); #如果有一个方法名字与类名相同,则该方法为构造方法

    析构方法:
    1.__destruct();
    2.析构时变量从下往上删

     

    2、代码

     1 <?php 
     2 // Person类定义
     3 // 文件名要与类名相同
     4 // 类名每个单词的首字母必须大写,是最为严格的驼峰式写法
     5 // 驼峰式:personActionGoodLike,严格的驼峰式写法:PersonActionGoodLike
     6 
     7 class Person{
     8 
     9     // 属性
    10     public $name;
    11     public $age;
    12     public $sex;
    13 
    14     // 构造方法
    15     function __construct($n,$a,$s){
    16         $this->name=$n;
    17         $this->age=$a;
    18         $this->sex=$s;
    19     }
    20 
    21     // 方法
    22     function say(){
    23         $n="name";
    24         echo "hello world,my name is {$this->$n},my age is {$this->age},my sex is {$this->sex}!<br>";
    25     }
    26 
    27     //析构方法
    28     function __destruct()    {
    29         echo "我是{$this->name},我还会回来的!<br>";
    30     }
    31 }
    32 
    33 //类实例化
    34 $user1=new Person('user1',20,'nv');
    35 
    36 //类调用成员方法
    37 $user1->say();
    38  ?>
     
  • 相关阅读:
    Random类
    类型转换
    一个简单的Web登录程序
    第一个Servlet程序
    使用MyEclipse开发 服务器的部署方式(续)
    MyEclipse配置
    Tomact问题
    Tomact配置
    HTTP基础:URL格式、 HTTP请求、响应、消息
    关闭二维码
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9386414.html
Copyright © 2011-2022 走看看