PHP 面向对象
1.类 就是一个抽象模型,是对象由众多的对象抽象出来的 类包含了对象通用的特性
2.对象 放在程序里面来说就是,一切皆对象 由类实例化出来的
例子:求两个圆套起来,求阴影的面积
$r1=10;
$r2=5;
$mj=3.14*$r1*$r2-3.14*$r1*$r2;
echo $mj;
面向对象的过程:
1.将圆抽象为一个类
class Yuan
{
var $banjing; 圆类的一个成员变量 半径
面积,成员方法
function MianJi()
{
return 3.14*$this->banjing*$this->banjing; this 在类里面代表该对象
}
}
2.实例化对象
$yuan = new Yuan(); new 从抽象的模型里面,新造一个对象
$yuan->banjing = 10; 取值或赋值 用对象来调里面的成员
$yuan->MianJi();
var_dump($yuan);
解题:
$maxyuan= new Yuan();
$maxyuan->banjing =10;
$minyuan= new Yuan();
$minyuan->banjing =5;
echo $maxyuan->MianJi()-$minyuan->MianJi();
例:运算类
class yunsuan
{
var $a;
var $b;
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(10,5);
echo $y->chu();
构造函数是专门用来造对象的 php,java, .net都是通用的
__construct 双下划线打头 构造方法
__destruct 析构方法 是在内存释放的时候执行 一般用来 关闭连接,做一些善后的 销毁的时候调用的
双下划线开头的方法在面向对象里面称为 魔术方法
1 写法特殊:方法名特殊,不能自定义
2 执行时间特殊:在造对象的时候就执行
主要起到的作用:对对象里面的成员进行初始化
这是类里面最先执行的
class yunsuan
{
function __construct($a1,$b1)
{
$this->a = $a1;
$this->b = $b1;
}
}
访问修饰符
public 公有的,任何地方都可以访问 顶替掉了var
protected 受保护的,只能在该类或该类的子类中访问
private 私有的,只能在该类中访问