zoukankan      html  css  js  c++  java
  • 到了面向对象了~~~

    php部分---面向对象:定义、实例化、构造函数、析构函数;

     

     − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。

    对象 − 是类的实例。一切皆对象。由类实例化出来的。

    成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问 
    ,在类被实例化为对象后,该变量即可称为对象的属性。

    成员函数 − 定义在类的内部,可用于访问对象的数据。


    访问修饰符
    public 公有的,任何地方都可以访问,包括类的内部、该类的子类和类实例化的对象
    protected 受保护的,只能在该类或该类的子类中访问
    private 私有的,只能在该类中访问


    类是对象的模板,所以要定义规范、合理的类结构首先应该明确类应该具有的属性和方法:

    定义语法:

    复制代码
    class 类名
    
    {
    
    public 成员变量1;
    
    
    public 成员变量2; 

    function 成员函数名()
    {
    $this->成员变量名; //(变量 $this 代表自身的对象。)
    }
    }
    实例化:对象名=new 类名();
    调用类里边的成员变量:对象名->成员变量名;
    调用类里边的成员函数:对象名->成员函数名();
    复制代码

    例题:计算两个圆之间的阴影面积

    复制代码
    class yuan
    {

       public $banjing;
       function mianji()
       {

          return$this->banjing*$this->banjing*3.14;
      }
    }

    $dayuan=new yuan();
    $xiaoyuan=new yuan();
    $dayuan->banjing=10;
    $xiaoyuan->banjing=5;
    echo$dayuan->mianji()-$xiaoyuan->mianji();
    复制代码

     


    __(双下划线)开头的方法在面向对象里面成为魔术方法


    PHP 构造函数(__construct)

    构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

    构造函数的两大特殊:
    1.写法特殊:方法名特殊
    2.执行时间特殊:造对象的时候就执行

    对对象里面的成员进行初始化

    复制代码
    class yunsuan
    {
        public $a;
        public $b;
        function __construct($c,$d)  //构造函数(construct)在实例化时,就开始执行
        {
            $this->a=$c;       
            $this->b=$d;           //把参数的值赋给$a,$b
            
        }
        function jia()
        {
            return $this->a+$this->b;
        }
    } $ff=new yunsuan(10,5); //构造函数在new时 开始执行 echo $ff->jia();
    复制代码

    析构函数(__destruct)

    析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。

    用来清理内存,当程序之行结束,来清楚用完的对象等;

    复制代码
    class YunSuan
    {
      public $a;
      public $b;
    
      //构造方法
      function __construct($a1,$b1)
      {
        $this->a = $a1;
        $this->b = $b1;
      }
    
      //析构方法,在对象内存释放的时候执行
      function __destruct()
      {
        echo "该对象释放了";
      }
      function Chu()
      {
        return $this->a/$this->b;
      }
    } //造对象 $y = new YunSuan(10,5); echo $y->Chu();
    复制代码

     先执行运算方法,然后执行析构方法

  • 相关阅读:
    MyBatis3.2从入门到精通第一章
    (转)浅析Java中的访问权限控制
    mysql添加索引命令
    (转)浅谈Java中的对象和对象引用
    (转)String、StringBuffer与StringBuilder之间区别
    (转)浅谈Java中的equals和==
    Java并发编程:Lock
    Java并发编程:synchronized
    安装MySQL
    Excel常用函数
  • 原文地址:https://www.cnblogs.com/binbinyouli123/p/6561699.html
Copyright © 2011-2022 走看看