triangle quadrilateral uadrilateral 2 (10,50) (35,10)(50,10)(45,65)(50,45) (30,60) (35,25)(50,25)(65,66)(60,70) (20,30) raw draw raw move(△x,△y) move(△x,△y) move(△x,△y) contains? (apoint) contains? (aPoint) contains?(aPoint) (b)表示多边形的三个对象
类(cass 口类是一组具有相同数据结构和相同 操作的对象的集合。 a类的定义包括一组数据属性和在数 据上的一组合法操作。 类定义可以视为一个具有类似特性 与共同行为的对象的模板,可用来 产生对象
a在一个类中,每个对象都是类的实 例 Instance),它们都可使用类中 提供的函数。 a对象的状态则包含在它的实例变量, 即实例的属性中
类←两个四边形对象 Quadrilateral quadrilateral quadrilateral point1 point3 (35,10)(510)(45,65)(50,45) point2 point4 (35,25)(525)(65,66)(60,70) draw draw raw move(△x,△y) move(△x,△y) move(△x,△y) contains? (aPoint) contains? (aPoint) contains? (apoint) ()表示多边形的三个对象
Quadrilateral类的每个对象有同样的 组实例变量和方法。 a就这个意义来讲,类 Quadrilateral给 我们提供了一个模板,表示了所有 四边形对象 a类常常可看做是一个抽象数据类型 (ADT)的实现。但更合适的是把类看 做是某种概念的模型