
面向对象 类<------>对象
面向对象例题
理解: 减少 变量的重新定义 比如 变量前的 var $ 思路更加明确
class Yuan ----后面不加() 创建类
{
var $banjing; //圆类的一个成员变量 这个变量前面 加var $ z这个变量时 对象的 //面积,成员方法
function MianJi()
{
return 3.14*$this->banjing*$this->banjing;
}
} this 指的是 引用这个类的 对象(实例) $maxyuan = new Yuan();
$maxyuan->banjing = 10; //banjing 前 不需要加任何变量符号符号 下面同样 只要在类里面有定义 就行 //造一个小圆
$minyuan = new Yuan();
$minyuan->banjing = 5; echo $maxyuan->MianJi()-$minyuan->MianJi();
求两圆的面积差(面向对象方法)
面向过程 做题 之前 都是面向过程
//求两个圆之间阴影的面积
/*$r1 = 10;
$r2 = 5;
$mj = 3.14*$r1*$r1 - 3.14*$r2*$r2;
echo $mj;*/
面向过程求面积
类 与对象 的 区别
1类: 模糊的 众多对象抽象出来的
2.对象: 实例 类中的一个 实例
在使用面向对象是 必须 先初始化(实例化) ---> 告诉计算机 它属于某一类
上题中 : $maxyuan = new Yuan(); 从圆类中 独立出一个 框架(实例 独立个体(对象))下面往里添加内容 (详见上题)
-------------------------面向对象:-----------------------------------------------------
访问修饰符
public 公有的,任何地方都可以访问
protected 受保护的,只能在该类或该类的子类中访问
private 私有的,只能在该类中访问
构造函数(构造函数在初始化的时候就运行了)
1.写法特殊:方法名特殊 :__construct
2.执行时间特殊:造对象的时候就执行 里面的this 指的是创建的对象 (实例化)
<?php
// 这里面的this 指的是 创建的的对象
class YunSuan
{
public $a; //可以变成 默认值public $a=10;
public $b; //构造方法
function __construct($a1,$b1)
{
$this->a = $a1;
$this->b = $b1;
} //析构方法,在对象内存释放的时候执行
function __destruct()
{
echo "该对象释放了";
} private function Jia()
{
return $this->a+$this->b;
} function Jian()
{
return $this->a-$this->b;
} function Cheng()
{
return $this->a*$this->b;
} function Chu()
{
return $this->a/$this->b;
} } //造对象
$y = new YunSuan(,); var_dump($y);
echo $y->Chu();
面向对象(构造函数)(析构函数)