什么是面向对象

在面向对象的程序设计(英语: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());

 : PHP 面向对象

上一篇: 没有了