PHP面向对象
1、面向对象
类:由众多对象抽象出的东西(研究的对象共同特征抽象出来)
对象一切皆对象(研究什么,什么就是对象)由类实例化出来的
2、类的定义
<?php
//类的定义
class Ren {
var $code;//成员变量 人员代号
var $name;//成员变量 姓名
var $sex;//成员变量 性别
var $birthday;//成员变量 生日
}
?>
类里面所有变量或者函数都是类的成员
类里面的成员是属于对象的而不是类的(姓名代号是属于具体某个人的而不是属于人类的)
3、实例化对象
<?php
//类的定义
class Ren {
var $code;//成员变量 人员代号
var $name;//成员变量 姓名
var $sex;//成员变量 性别
var $birthday;//成员变量 生日
}
//实例化对象
$r = new Ren();//实例化一个人
$r->code = "p001";//代号为p001的人 ->寻找Ren下面的内容
$r1 = new Ren();//实例化一个人
$r1->code = "p002" ;//代号为p002的人
var_dump($r);
var_dump($r1);
?>

4、访问修饰符
public 公有的(类外也能被访问,任何地方都可以被访问){}外
protected 受保护的 (只能在类和子类内访问)
private 私有的(只能在该类使用)
<?php
class Ren {
public $code;
protected $name;
private $sex;
public $birthday;
}
$r = new Ren();
$r->code = "p001";
$r->name = "张三";//会报
$r->sex = "男";//报错
var_dump($r)
?>
5、调用函数
<?php
class Ren {
public $code;
public $name;
public $sex;
public $birthday;
public function say(){
echo"说话";
}
}
$r = new Ren();
$r->say();
?>
让具体某个人说话
<?php
class Ren {
public $code;
public $name;
public $sex;
public $birthday;
public function say(){
echo"{$this->name}说话!";//this代表该对象
}
}
$r = new Ren();
$r->code = "p001";
$r->name = "张三";
$r->sex = "男";
$r->say();
?>
张三说话
5、面向对象和面向过程的区别
例:
两个圆套在一起大圆半径是10小圆半径是5 求蓝色部分的面积
用面向过程:
$r=10;
$r1=5;
$mianji=3.14*$r*$r-3.14*$r1*$r1;
echo $mianji
?>
面向对象
<?php
class Yuan{
public $r;
public function mianji(){
return 3.14*$this->r*$this->r;
}
}
$y = new Yuan();
$y->r = 10;
$y1 = new Yuan();
$y1->r = 5;
echo $a=$y->mianji()-$y1->mianji();
?>
面向过程比面向对象简洁,但是思路没有面向对象清晰,可重复利用率低
浙公网安备 33010602011771号