文章目录
面向对象
1. 面向对象编程(OOP
,Object Oriented Programming
)
- 面向对象编程是一种
编程范式
或编程风格
。它以类
或对象
作为组织代码的基本单元,并将封装
、抽象
、继承
、多态
四个特性,作为代码设计和实现的基石 。 - 面向对象分析(
OOA
,Object Oriented Analysis
) - 面向对象设计(
OOD
,Object Oriented Design
)
1.1 封装
- 封装的字面意思就是包装,实质就是信息隐藏
- 利用抽象数据类型将数据的类型与操作封装在一起,构成一个不可分割的实体(类)
- 数据被保护在抽象的数据类型中,尽可能的隐藏内部的细节
- 只提供对外的接口以供操作
1.2 继承
- 多个类具有相同的
属性
或方法
时,可以将相同的部分抽取出来新建一个父类
(超类
) - 其他类(
子类
)可以继承这个父类
,即可拥有父类的属性和方法 子类
可以重写父类
的方法
,或者与父类同名的成员变量
1.3 抽象
-
使用
abstract
关键字修饰的类为抽象类,抽象类不能被实例化 -
使用
abstract
关键字修饰的方法为抽象方法,抽象方法没有方法体 -
抽象方法的修饰符只能用
public
或者protected
或者没有修饰,不能被final
,static
,private
修饰
1.4 多态
-
一个接口,多种实现
-
不同的对象调用相同的方法,具有不同的表现形式
-
实现多态的必要条件
- 继承:多态中必须存在有继承关系的子类与父类关系
- 重写:子类对父类的方法进行重写,调用时会调用子类的实现
- 向上转型:父类引用指向子类对象
-
多态的实现方式
-
基于继承
基于继承的实现机制主要表现在父类和继承该父类的一个或多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为
-
基于接口
指向接口的引用必须是指定实现了该接口的一个类的实例程序,在运行时,根据对象引用的实际类型来执行对应的方法
-
2. 面向对象编程语言(OOPL
,Object Oriented Programming Language
)
面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面 向对象编程四大特性(封装、抽象、继承、多态)的编程语言
公众号(图灵的咖啡)
- 记录分享学习的点滴