类与对象
1类的成员:
a属性:保存数据 b 方法:保存处理数据的代码 c常量:保存固定的数据
(我们在方法中调用属性的时候不能直接echo 需要使用$this来访问)
2 类常量的定义
Const 常量名= 常量值 (访问常量:类名::常量名)
3类的成员的访问控制
要求:尽量提高对成员的控制,能使用私有的尽量使用使用的
Public在任何地方都可以访问 (包括类的内部和类的外部)
protected受保护的,只能在当前类内和它的子类或者父类中访问(继承的时候使用)
private 私有的,只能在类的内部访问
4出现的错误:
notice 提示级别的错误,不影响代码的执行,如果项目上线了,提示错误可以 屏蔽(error
waring ; 警告级别
fatal : 致命错误
解决方法:reporting )(1)去配置文件修改 (2)在代码的开头error_reporting来屏蔽
5属于类的常用的魔术方法
__construct() (构造函数 ------拥有构造方法的类,会在实例化对象的时候,先调用这个方法,适合于在实例化对象之前做一些初始化操作)
__desctruct() (析构函数,对象注销的时候自动的调用析构函数,通常在对象注销的时候释放数据库链接例如:使用mysql_close($link) 释放数据库)
__autoload() (当我们实例化一个类时,但是没有找到这个类,此时在php报错不能执行前它会自动执行这个函数同时会把类名作为一个参数触底过去此时这个函数做出针对找不见类的问题作出处理,一般用于选择器上)
__toString() (但我们直接echo ,print()输出对象的时候会自动调用这个魔术方法,此时会获得一个字符串 )
6对象之间的赋值
注意:对象的复制采用的是引用传递(例如:$obj=$obj2)此时二者保存的是同一个对象)
Php获得对象的俩种方法:实例化对象;克隆
$obj2=clone $obj1; (此时二者为俩个对象)
var_dump($page == $page2); //true 引用传递 获得是同一个对象
var_dump($page === $page3); //false 通过clone获得对象,不是同一个
7面向对象的三大特性
封装性:
将自然界实实在在存在的自然实体(特征)采用计算机面向对象的语言描述出来,将自然实体抽象成计算机语言的过程就是封装型
继承性:
有必要将相同的代码提取出来,谁需要的时候,谁再加载他,通过类的继承实现
多态性:
php是弱类型的语言,多态性体现不是很明显,同一个对象的不同状态,同样是求面积,长方形和正方形的方法不一样