面向对象技术
基本原则:
抽象:现实事物抽象化,总结出一个类
封装:客户仅能看到接口
模块性:把系统分为基本模块,使之更清晰
层次性:描述软件的类的依赖关系
基本概念:
对象:物理,概念,软件实体
描述事物,具有状态(可改变),行为,标识
类:对一组具有相同属性,行为,关系和语义的对象的描述,一个对象是一个类的实例
是对象的抽象定义,定义了属性和方法,提供了创建对象的模板
属性:描述类的静态部分
操作:读取,修改属性来做到封装性
接口:例:多态:不同的对象接到相同的消息产生不同的行为
组件:可以为源程序,运行时动态库,可执行程序
包:把代码逻辑化划分,使结构更清楚
子系统:对接口的实现
关系:整体部分关系,关联关系,聚合关系,约束关系,泛化关系
面向对象语言的特点
继承性
封装性
多态性
C++
Data Type( primitive/object reference/array...)
Operator
Flow Control
Class
Object( Create/Initialization/Delete)
Inheritance
Abstrant Class
Polymorphism
Access Modifier and Scope
Operator Overload
Friend
Template
Java
Data Type( primitive/object reference/array...)
Operator
Flow Control
Class
Object( Create/Initialization/Delete/Comparison)
Inheritance
Abstract Class and Interface
Polymorphism
Package and Scope