「第7章:面向对象程序设讠 对象与类 常用控件及其主要属性 制作人:程艾芝 车角学
第7章:面向对象程序设计 1 对象与类 2 常用控件及其主要属性
第1节 对象与类 概念 制作人:程艾芝 车角学
第1节 1 对象与类 概念
面向对象技术(1 Visual(可视化): 开发软件时,软件的界面是画出来的,做成什么样, 运行就是什么样。可视化技术出现了以后,就把工作 重点转入到功能的设计上。 原来70%的工作是用来做界面的,现在有了很大的发 展,做界面很方便,三、两下就做出来了,没有可视 化,界面工作就很难完成。 可视化是精典的和完美的体现,是面向对象技术的 个重要应用。现在的界面,可以达到一条语句也不用 写的地步。 制作人:程艾芝 车角学
面向对象技术(1) Visual(可视化): 开发软件时,软件的界面是画出来的,做成什么样, 运行就是什么样。可视化技术出现了以后,就把工作 重点转入到功能的设计上。 原来70%的工作是用来做界面的,现在有了很大的发 展,做界面很方便,三、两下就做出来了,没有可视 化,界面工作就很难完成。 可视化是精典的和完美的体现,是面向对象技术的一 个重要应用。现在的界面,可以达到一条语句也不用 写的地步
面向对象技术(2) 专家预言:面向对象技术发展到一定程 度,不用再写程序 人们只要坐在PC机前,点点鼠标,拉来 组装即可,或者只写一点程序即可。 象共产主义,物质极为丰富,想要什么, 就有什么,这是一个终极目标。 制作人:程艾芝 车角学
面向对象技术(2) • 专家预言:面向对象技术发展到一定程 度,不用再写程序。 • 人们只要坐在PC机前,点点鼠标,拉来 组装即可,或者只写一点程序即可。 • 象共产主义,物质极为丰富,想要什么, 就有什么,这是一个终极目标
面向对象技术(3) 对客观世界的认识 (1)、客观世界是由实体组成 如:在教室这个环境中,有桌子、凳子、人……等,它们均为实体 (2)、实体有各自的状态(状态也称属性→字段) 如:桌子有重量、大小等。 3)、实体之间的关系 (实体与实体相互之间有相互之间的关系) 如:实体人与人有同学、师生、亲戚、朋友等关系。 (4)、实体之间的相互作用(行为可改变它们之间的状态 制作人:程艾芝 车角学
面向对象技术(3) 对客观世界的认识 (1)、客观世界是由实体组成 如:在教室这个环境中,有桌子、凳子、人……等,它们均为实体。 (2)、实体有各自的状态(状态也称属性→字段) 如:桌子有重量、大小等。 (3)、实体之间的关系 ( 实体与实体相互之间有相互之间的关系) 如:实体人与人有同学、师生、亲戚、朋友等关系。 (4)、实体之间的相互作用(行为)可改变它们之间的状态
而向对象技术(3) (5)、由属性(状态)可进行分类 如:书可分成一类,桌子可分成一类,人也可分成一类。 (6)、不同的类之间存在不同的关系。如: 哺乳动物 人 动物 老虎 父类→子类。子类继承父类的全部属性和方法。 制作人:程艾芝 ②角孝
面向对象技术(3) (5)、由属性(状态)可进行分类 如:书可分成一类,桌子可分成一类,人也可分成一类。 (6)、不同的类之间存在不同的关系。如: 动物 哺乳动物 人 父类→子类。子类继承父类的全部属性和方法。 …… 老虎
类的特性 1、封装( Encapsulation):信息隐藏技术。 数据的封装:将数据结构和作用于数据结构上 的操作组成一个实体,数据的表示方式和对数 据的操作细节被隐藏起来,用户通过操作接口 对数据进行操作。 例(手机):你知道按手机上某个键可以接听,可以 关闭,可以收短信……每个按键的功能( what-to-do)你 都可以通过说明书清楚地知道,但是这些按键的功能 具体是怎么实现的呢hw-to-do)?这说是封装。 制作人:程艾芝 ②角孝
类的特性 1、封装(Encapsulation):信息隐藏技术。 数据的封装:将数据结构和作用于数据结构上 的操作组成一个实体,数据的表示方式和对数 据的操作细节被隐藏起来,用户通过操作接口 对数据进行操作。 例(手机):你知道按手机上某个键可以接听,可以 关闭,可以收短信……每个按键的功能(what-to-do)你 都可以通过说明书清楚地知道,但是这些按键的功能 具体是怎么实现的呢(how-to-do)?这说是封装
类的特性 2、继承( Inheritance)指能够直接获得已 有的性质和特征,而不必重复定义它们。 父类:一个类的上层是父类。 子类:一个类的下层是子类。 超类:如果C2是C1的子类,C3是C2的子类,则 C1是C3的超类 基类(父类、超类):被继承的类 派生类(子类):继承类 制作人:程艾芝 车角学
类的特性 2、继承(Inheritance)指能够直接获得已 有的性质和特征,而不必重复定义它们。 父类:一个类的上层是父类。 子类:一个类的下层是子类。 超类:如果C2 是C1 的子类,C3 是C2的子类,则 C 1是C3 的超类 基类(父类、超类):被继承的类 派生类(子类):继承类
类的特性 3、功能重载与多态性: 多态性( Polymorphisn):一个名字可有多 种不同的语义解释。指不同的对象收到相同的 消息时产生多种不同的行为方式。 例:1+2=? +“2’=? 都是加法,但是“+’所对应的行为不一样, 个是数据累加,一个是字符相连 制作人:程艾芝 车角学
类的特性 3、功能重载与多态性: 多态性(Polymorphism) : 一个名字可有多 种不同的语义解释。指不同的对象收到相同的 消息时产生多种不同的行为方式。 例:1+2=? ‘1’+‘2’ =? 都是加法,但是‘+’所对应的行为不一样, 一个是数据累加,一个是字符相连
例1+2=? 1.0+2.0= 这两个数相加相差很远。对 同的加法,R 若+2用的是同一名字,这就体现了+的多态性 1+2是整数媒肉用25是英义解释 +2直接相加102.0相加 2B2B二进制数相加4B4B浮点数相加(分成三个步骤) ①对阶 尾符尾数阶符阶码②尾数相加 ③规范化处理 制作人:程艾芝 车角学
这两个数相加相差很远。对计算机来说,是两种截然不 同的加法,区别很大(对用户来说区别不大)。 若1+2 用1个单位的时间,则1. 0+2. 0 用10个单位的时间, 1+2是整数加法,1. 0+2. 0 是实型数加法 例:1+2=? 1. 0+2. 0=? 1 + 2 直接相加 1. 0+2. 0 相加 2B 2B 二进制数相加 4B 4B 浮点数相加(分成三个步骤) 尾符 尾数 阶符 阶码 ① 对阶 ② 尾数相加 ③ 规范化处理 用的是同一名字+ ,这就体现了+ 的多态性, 其内部用不同的语义解释