面向对象与图形编程
面向对象与图形编程
数据与操作:传统观点 ·数据类型 -某种值的集合 -运算(操作)的集合 0 计算就是对数据进行操作 一数据与操作分离 -数据是被动的,操作是主动的 例如:string类型的值是'abc'等,对串的操 作有+,*,1en()等 Lu Chaojun,SJTU 2
Lu Chaojun, SJTU 2 数据与操作:传统观点 • 数据类型 – 某种值的集合 – 运算(操作)的集合 • 计算就是对数据进行操作 – 数据与操作分离 – 数据是被动的,操作是主动的 • 例如:string类型的值是’abc’等,对串的操 作有+, * ,len()等
数据与操作:面向对象观点 ·对象(Object):集数据与操作于一身. -对象知道一些信息 一对象能对那些信息进行处理 0 计算:向对象发出请求操作的消息 一主动的数据类型 面向对象(Object--Oriented:软件系统由各 种对象组成,对象之间通过消息进行交互 ·现代软件系统几乎都是OO设计和实现 Lu Chaojun,SJTU 3
Lu Chaojun, SJTU 3 数据与操作:面向对象观点 • 对象(Object):集数据与操作于一身. – 对象知道一些信息 – 对象能对那些信息进行处理 • 计算:向对象发出请求操作的消息. – 主动的数据类型 • 面向对象(Object-Oriented):软件系统由各 种对象组成,对象之间通过消息进行交互. • 现代软件系统几乎都是OO设计和实现. Lu Chaojun, SJTU
OO基本概念 。 类(class):描述同类对象的共性 -包含的数据 人任何类型的数据,甚至可以是对其他对象的引用. -能执行的操作(方法) · 对象(object):类的实例(instance) 同类的不同对象可有不同的数据值(实例变量),但能 执行的操作是一样的 。h 创建对象:使用类的构造器(constructor) <类名>(<参量1>,<参量2>,.) ·消息:请求对象执行它的方法 <对象>.<方法名>(<参量1>,<参量2>,…) Lu Chaojun,SJTU 4
Lu Chaojun, SJTU 4 OO基本概念 • 类(class):描述同类对象的共性 – 包含的数据 ©任何类型的数据,甚至可以是对其他对象的引用. – 能执行的操作(方法) • 对象(object):类的实例(instance) – 同类的不同对象可有不同的数据值(实例变量),但能 执行的操作是一样的 • 创建对象:使用类的构造器(constructor). <类名>(<参量1>,<参量2>,…) • 消息:请求对象执行它的方法. <对象>.<方法名>(<参量1>,<参量2>,…)
对象的方法 ·不同对象当然提供不同的操作 ·对象一般都提供读取它的实例变量值的 方法,统称为accessor. -例如Point>对象的getX(和getY(O,Line对象的 getP1O和getP20, ·对象一般也提供修改其实例变量的方法, 统称为nutator. -例如所有图形对象都有move(dx,dy)方法. Lu Chaojun,SJTU 5
对象的方法 • 不同对象当然提供不同的操作 • 对象一般都提供读取它的实例变量值的 方法,统称为accessor. – 例如Point对象的getX()和getY(), Line对象的 getP1()和getP2(). • 对象一般也提供修改其实例变量的方法, 统称为mutator. – 例如所有图形对象都有move(dx,dy)方法. Lu Chaojun, SJTU 5