什么是面向对象
在面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象。
面向对象三大特征
1、封装:
把一个对象的属性和实现细节隐藏起来,并设置属性的权限级别,只暴露相关接口,至于内部是如何实现,外部无法得知。例如计算机,我们只需通过一个按钮开关将其开机并运行,但其是如何开机,我们无法得知;再比如一辆汽车照明系统,你只需按下开关即可开灯,但是里面的电路细节外部无法得知。
2、继承
一个对象继承另一个对象的属性和方法。例如人类,有吃、睡觉、走路等行为,这个是为方法,有姓名、肤色、性别是为属性,现在有一个另一个类“学生”这种人类,学生也会有吃饭、睡觉、走路等行为,也有姓名、肤色等属性,同时学生又有自己的行为如读书等等,这个就是继承。PHP是单继承语言,即一个子类只能继承一个父类,继承使用关键字extends。
3、多态
指的是不同的对象,执行相同的方法,而又取得不同的结果。可以用PHP接口实现,使用关键字implements。
如下代码:有两个用户对象,student和teacher,两个对象都有name()和age()方法:
interface base{
//获取name
public function name();
//获取age
public function age();
}
//学生类
class student implements base{
public function name(){
echo "获取学生姓名
";
}
public function age(){
echo "获取学生年龄
";
}
}
//老师类
class teacher implements base{
public function name(){
echo "获取老师姓名
";
}
public function age(){
echo "获取老师年龄
";
}
}
//定义操作类
class get{
public function common_get_name( $base){
$base->name();
}
public function common_get_age( $base){
$base->age();
}
}
//实例化操作类,相同的方法,传入不同的对象参数,取得不同的结果
$get = new get();
$get->common_get_name(new student());
$get->common_get_name(new teacher());
$get->common_get_age(new student());
$get->common_get_age(new teacher());
共 115 条评论