面向对象
面向过程,没有面向对象写起来困难。
面向对象:
类:由众多对象抽象出来的东西
对象:一切皆对象,由类实例化出来的
累的定义:
class Ren(名字,首字母大写){
public $code;
public $name;
public $sex;
public $birthday;
public function say(){ say说话方式
echo"{$this->name}说话!";
}
}
//$this写在类里面代表对象
类里面的所有变量或函数都称作累的成员
//实例化对象
$r = new Ren();
var_dump($r);
$r->code = "p001";
$r->say();
$r->name = "张三";
//php中没有var
//访问修饰符:
publi 公有的 在外部可以访问
protected 受保护的 受保护的在外部不能访问会出现错误
private 私有的 只能在{}中访问,权限最低
类里面的成员属于对象的
面向对象和面向过程的过程
假设有两个圆,大圆半径为10,小圆半径为5.球大圆中的面积
//面向过程的解法
<?php $r1 = 10; $r2 = 5; $mj = 3.14*$r1*$r1-3.14*$r2*$r2; echo $mj; //面向对象的解法 class Yuan{ public $r; //半径 //获取面积 public function mianji(){ return 3.14*$this->r*$this->r; } } $y1 = new Yuan(); $y1->r = 10; $y2 = new Yuan(); $y2->r = 5; $mjm = $y1->mianji()-$y2->mianji(); echo $mjm; ?>
//构造函数 初始化参数
class Ren{
public $name;
public $sex ;
public $birthday;
//构造函数 用来生成对象的
//1.写法特殊
//2.执行特殊
//两种写法
/*public function Ren(){
}*/
public function __construct($sex){
$this->sex = $sex;
} //多用这种
//析构函数 对象销毁前调用
public function __destruct(){
echo "对象销毁了";
}
}
$r = new Ren("男");
$r->name = "张三";
var_dump($r)
//__自动调用