PHP面向对象的特点

Posted 小疯子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP面向对象的特点相关的知识,希望对你有一定的参考价值。

1)继承

关键字:extends   (子类 extends 父类)

目的:减少代码的重复量(继承可大大减少我们代码中的重复

继承特征:

默认父类Animal中的属性和行为都被子类继承下来,可以不用再次去声明

php是一个单继承,一个类只可以继承一个父类,但一个父类却可以被多个子类所继承。

子类不能继承父类的私有属性和私有方法。

PHP5中类的方法可以被继承,类的构造函数也可被继承

继承只能有且也只有一个父类

 

Parent:该关键字,意思为父母,在这里指代的是当前类的父类对象

 

 

2)封装

 

①定义:封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节。

 

②优点:信息隐蔽,封装即隐藏

 

③封装的原则:在软件上,要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的“交叉感染”,使软件错误能够局部化,大大减少查错和拍错的难度。

 

④目的:

 

隐藏一个类的实现细节

 

防止对封装数据的未经授权的访问,使用者只能通过实现定制好的方法来访问数据,可以方便的加入控制逻辑,限制对属性的不合理操作。

 

有利于保证数据的完整性

 

有利于对数据的保护

 

 

(3)多态

 

①抽象:就是无法确切的说明,但又有一定的概念或者名称

 

抽象类:使用抽象关键字修饰的类,就叫做抽象类。

 

关键字:abstract

 

特点:

 

抽象类不能被实例化

 

抽象类不一定需要有抽象方法,但是包含抽象方法的类必须是抽象类

 

抽象方法:

 

abstract class Animal

 

{
     public abstract function shout();
}

 

使用abstract修饰的函数方法称为抽象方法

 

抽象方法只有函数的声明部分,不包含实现部分,且要用分号代表结束

 

继承了带有抽象方法的类必须实现抽象方法的定义

 

 

 

 

 

②接口

 

接口是抽象方法和静态常量定义的集合

 

接口是一种特殊的抽象类,这种抽象类只包含抽象方法和静态常量,没有其他类型

 

注:在接口中的抽象方法只能是public,默认也是public。不能是protectedprivate

 

接口通常都是一组功能的集合

 

interface Ifly

 

{
     public function fly();
}

 

在接口中的函数都是公共的抽象函数方法,这些函数不能添加abstract关键字,同时也可以省略public

 

实现接口: implements

 

实现了某个接口,那么必须实现接口中的所有的抽象方法

 

一个类可以实现多个接口

 





以上是关于PHP面向对象的特点的主要内容,如果未能解决你的问题,请参考以下文章

PHP面向对象——1基础

php 面向对象三大特点:封装继承多态

php 面向对象三大特点:封装继承多态

PHP面向对象的特点

PHP面向对象三大特点学习(充分理解抽象封装继承多态)

PHP中的OOP