PHP笔记
2019-04-19 13:52:37 0 举报
AI智能生成
思维导图
作者其他创作
大纲/内容
面向对像三大特性
封装
定义
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
好处
只能通过规定的方法访问数据
隐藏类的实例细节,方便修改和实现
封装过程
修饰符
继承
定义
继承是类与类的一种关系,是一种“is a”的关系
好处
增加代码复用性,管理代码成本低
分类
单继承
PHP、Java、C#
多重继承
C++
多态
定义
多态指的是一类事物有多种形态(一个抽象类有多个子类,因而多态的概念依赖于继承)
多态性
具有不同功能的函数,可以使用相同 的函数名,调用的逻辑一样,但执行的结果不一样。
向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(所谓消息就是调用函数)
优点
可替换性
可扩充性
消除类型之间的耦合关系
接口性
灵活性
简化性
多态的实现方式
父类引用指向子类对象
重写
接口引用指向实现接口的子类对象
接口
抽象类
定义
抽象类是一种特殊的类;使用abstract修饰;就是在定义一些规范,让子类按这些规范去实现自己的功能;抽象类提供了具体实现的标准
特点
抽象类不能实例化对象,抽象类必须被继承
抽象方法只包含一个方法名,而没有方法体
如果一个类包含抽象方法,那么该类必须是抽象类
任何子类必须重写父类的抽象方法,或者声明自身为抽象类
接口
定义
接口是一种特殊的抽象类;使用interface修饰;接口则是纯粹的模版;接口只定义功能,而不包含实现的内容。
特点
任何实现接口的类都要实现接口中所定义的所有方法,否则该类必须声明为 abstract 。
interface 是完全抽象的,只能声明方法,而且只能声明 public 的方法,不能声明 private 及 protected 的方法,不能定义方法体,也不能声明实例变量 。
接口不可以实现另一个接口,但可以继承多个
一个类可以在继承一类的同时,去实现一个或多个接口(先继承,再实现)
抽象类与接口的对比
作用相同,都不能创建对象, 都需要子类去实现
接口的声明和抽象类不一样
接口被实现的方式不一样
接口中的所有方法必须是抽象方法,只能声明抽象方法(不用使用abstract修饰)
接口中的成员属性,只能声明常量,不能声明变量
接口中的成员访问权限 都必须是public, 抽象类中最低的权限protected
面向对象的设计原则
0 条评论
下一页