php面向对象
一 面向对象
面向对象包括类和对象的概念; (对于某一类的事物只需做一个算法(此算法可无限使用)就可解决)
面向过程(只针对一个事物进行:点对点,精确)
二 类和对象
1、类是由众多对象抽象(归纳总结)出来的东西 代表所有对象的特性
例:
人类:身份证,姓名,年龄,性别,民族...
植物类:光合作用,适宜的土质,适宜温度,茎,根...
2、对象是由累实例化出来的东西 具有自己的特点 真实存在的 一切皆对象
3、定义类
Class + 类名(首字母大写){}
例:
Class Ren
{
var $name; --成员变量
var $age;
function eat()--成员方法或函数
{
}
}
4、实例化(类是抽象的,实例化以后可用)
$r =new Ren(); ----实例化一个人
$r ->(php中调用函数的符号)name=“张三”; ----调用成员变量
$r->age =1;
var_dump($r);
输出结果 object(Ren)[1]
public"name"=>string'张三' (length=6)
public"age" => int 1
$r->eat(); ----调用成员方法
$r1-> =new Ren(); ---定义第二个人
$r2-> =new Ren(); ---定义第三个人
5、访问修饰符
public 公有的 一般为成员方法
privade 私有的 只能在该类访问 一般为成员变量
例:
Class Ren
{
private $name; 只能在 Class Ren 里访问
public $age;
public function eat()
{
}
}
protected 受保护的,只能在该类或该类的子类访问
类中的 成员(名字)属于对象的(人)
关键字this 代表该对象 (谁调用就代表谁)不代表该类
例:
class Ren
{
private $name;
private $age=2;
public function eat()
{
echo $this->age; --- this代表该对象(谁调用ear()就代表该对象);不是该类
}
}
$r = new Ren();
构造函数 强类型语言用 php不用
作用:造对象 主要用来进行变量的初始化 调用时给参数(和$name =''张三''类似)
不写亦存在只是看不到 默认public
写法特殊,执行时间特殊(创建函数时的时间)
函数名称和类名一致
例:
function Ren() ----- 老式写法 可用
{
}
或
function __construct() ---- 新式写法
{
}