到了面向对象了~~~

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();
复制代码

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

 

posted @ 2017-03-16 21:25  彬彬有礼☆  阅读(155)  评论(0编辑  收藏  举报