一、封装
1.什么是封装?
封装是:隐藏对象的数据和操作过程,对数据的访问只能通过已定义的接口实现
2.为什么要进行封装?
使类的设计者和使用者分开,控制类的修改和访问程度
3.封装的优点?
- 提高数据的安全性(使用者不能通过属性修改私有成员变量)
- 操作简单(使用者只要调用接口即可使用)
- 隐藏实现过程(对使用者隐藏实现过程)
二、多态
1.什么是多态?
多态是:同一个操作方法作用于不同的对象时,可以有不同的解释,产生不同的执行结果
2.多态实现的前提是?
类与类之间要有关系,要么继承,要么实现,存在重写(overwride)
3.多态的应用?
父类对象的引用指向子类对象,本质是一个向上转型
4.举个例子:
假设有个书类,有多个子类继承它
<?php
class book{
static function read(){
echo '读的书';
}
public function work(book $e){
$e->read();
}
}
class blue_book extends book{
static function read(){
echo '读蓝色的书';
}
}
$a = new book();
$a->work(new blue_book);