PHP面向对象
PHP面向对象:三大特征
## 封装 封装性:封装性就是把对象的属性和行为结合成一个独立的单位。 封装一个类需要两步 - 第一步是私有化一个类 - 第二步是用set和get 做出读取赋值的操作 他的好处是:隐藏类的实现细节,可以方便加入逻辑控制性,限制对属性的不合理操作,便于修改增强代码的可维护性。 ```php class Person{ public $name = 'osman'; private $sex = 'sale'; protected $age = '26'; //构造方法,在类实例化时自动调用 public function __construct() { self::connect(); } //静态方法 static function connect() { echo '联系我'; } } ``` ## 继承 B类的对象拥有A类的全部属性与行为,称作B对A类的继承。 假如一个类从多个类中继承了属性与服务,这称为多继承,通常我们成为继承类为子类被继承类为父类, 在PHP中只有单继承,但一个父类可以被多个类继承,但是一个子类只能有一个父类,但是允许关联继承,通过继承可以减化类的定义。 - extende声明继承关系 语法格式:class B extends A 此范例指明 B继承了A ```php class osman extends Person{ //继承 } ``` - 类的外部访问对子类是有效的 - 子类继承父类的所有内容,但父类中的private部分不能直接访问 - 子类中新增加的属性和方法是对父类的扩展。 - 子类中定义的与父类同名的属性是对父类属性的覆盖,同名的方法也是对父类方法的覆盖。 - 重写的方法 在子类中,使用parent访问父类中的被覆盖的属性和方法 ```php class osman extends Person{ parent::__construce(); parent::$name; parent::fun(); } ``` - 对象比较 - ==是比较两个对象的内容。 - ===是比较对象的句柄,即引用地址。 - instanceof操作符用于检测对象实例是否属于某一个类 属于返回true 不属于返回false - \__clone()如果想在克隆后改变原对象的内容,需要在\__clone()中重写原本的属性和方法 ```php function \__clone(){ $this->name="我是一个克隆人"; } ``` ## 多态 多态性是指在父类中定义的属性或行为被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为在父类及其各个子类中具有不同的语义。 就是说同一种方法在子类与父类中执行的结果不同. ```php class A { function info(){ echo “A INFO”; } } class B extends A { function info(){ echo “B INFO”; } } class C extends A { function info(){ echo “C INFO”; } } function printinfo($obj){ $obj->info(); } $a=new A(); $b=new B(); $c=new C(); printinfo($a); //输出A INFO printinfo($b); //输出B INFO printinfo($c); //输出C INFO ```
顶部
收展
底部
[TOC]
目录
PHP面向对象:基本概念
PHP面向对象:三大特征
PHP面向对象:魔术方法
PHP面向对象:对象串行化
PHP面向对象:访问类型
PHP面向对象:关键字
PHP面向对象:类的应用
PHP面向对象:抽象方法和抽象类
PHP面向对象:接口(interface)
相关推荐
PHP底层
PHP应用
PHP工具类
PHP编程经验
PHP框架