类( class)),实例( instance) 具有相同属性和服务的对象归于 同一类,形成类 ◆类中的对象为该类的实例
◼ 类 (class),实例 (instance) ◆ 具有相同属性和服务的对象归于 同一类,形成类 ◆ 类中的对象为该类的实例
quadrilateral quadrilateral quadrilateral 属性 属性值 属性值 a pointl apoint2‖(35,10)(50,10)(45,65)(50,45) a point3 a poin4(35,25)(50,25)(65,66)(60,70) 服冬 服务 服多 Draw() Draw() Draw) move( )‖move(x,y)‖move(x,y) contains(apoint) contains(aPoint)) contains(aPoint) 四边形类及其对家
属性 aPoint1 aPoint2 aPoint3 aPoint4 服务 Draw( ) move( x, y) contains(aPoint) 属性值 属性值 quadrilateral1 quadrilateral2 (35, 10) (50, 10) (35, 25) (50, 25) (45, 65) (50, 45) (65, 66) (60, 70) Draw( ) move( x, y) contains(aPoint) Draw( ) move( x, y) contains(aPoint) 服务 服务 四边形类及其对象 quadrilateral
继承 ◆派生类:四边形,三角形, 子类特化类(特殊化类) ◆基类:多边形 父类泛化类一般化类) a通信 ◆消息传递
◼ 继承 ◆ 派生类:四边形,三角形,… 子类 特化类(特殊化类) ◆ 基类:多边形 父类 泛化类(一般化类) ◼ 通信 ◆ 消息传递
Polygon Quadrilateral reference point referencepoint Vertices Vertices Draw( Draw( move( x, y) move( x, y) contains(aPoint) contains(aPoint Polygon类 Polygon的子类 Quadrilatera类
Draw( ) move( x, y) contains(aPoint) Polygon referencePoint Vertices Polygon 类 referencePoint Vertices Draw( ) move( x, y) contains(aPoint) Polygon的子类 Quadrilateral类 Quadrilateral
数据结构的抽象层次 线性结构 ◆直接存取类数组,文件 ◆顺序存取类表,栈,队列,优先队列 ◆广义索引类线性索引,搜索树 非线性结构 ◆层次结构类树,二叉树,堆 群结构类集合,图
◼ 线性结构 ◆直接存取类 数组, 文件 ◆顺序存取类 表, 栈, 队列, 优先队列 ◆广义索引类 线性索引, 搜索树 ◼ 非线性结构 ◆层次结构类 树,二叉树,堆 ◆群结构类 集合,图 数据结构的抽象层次