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

学生 n
客观世界 计算机世界用面向对象的软件开发方法:建立一一对应的关系。
通过在计算机中建立虚拟的对象,模拟客观世界。
学生 1
学生 2

学生 n
学生 虚拟的学生类与对象
把对象看成是类的一个实例。类是抽象的概念,对象是具体的概念。
学生 张三类 对象学生是类,对象 张三就是学生这个类的一个实例。
对象:现实世界中某个实体在计算机中的映射。
类:一种抽象数据类型,是同种对象的集合与抽象。
实例:属于类的某一个对象则被称为类的一个实例。
OO,面向对象程序设计
OO,Object Oriented
程序是对象的集合
结构化程序设计:程序是命令语句的集合
运行就是对象与对象之间通过发送消息 (通过编程实现 )来改变对象的状态,直到运行结束
(对象由初态变为终态)。
认识表单
Form表单
Label标签
Text文本框
Edit编辑框
Command命令按钮
Value值
Caption标题对象 (object)
对象 (属性,事件,方法 )
状态 操作 行为
概念,反映客观事物属性及行为特征的可操作实体,其中属性描述对象的状态,
方法描述对象的行为。
属性 (property)
① 属性 (Property),Caption,color,font,
focus,name,password,value,visible,size
描述对象的状态或某一方面的行为特征。
对象的每个属性都具有一定的含义,通过设置对象的属性可以定义对象的不同特征和状态。
事件 (Event)
② 事件 (Event):
activate,click,GotFocus,KeyPress,load
一种系统预先定义好的,能够被对象识别的特定动作,由用户或系统激活 。
事件是固定的,由系统提供,用户不能创建 。
事件过程 (事件代码 ),编写的一段程序,由事件的激发而调用,也可在运行中由程序调用 。
方法 (Method)
③ 方法 (Method):
Refresh,Release,SetFocus
是与对象或对象事件相对应的,相关联的过程 。
方法被,封装,在对象中,不同的对象具有不同的方法 。
方法的代码只能在运行中由程序调用 。
方法可以由系统提供,也可以由用户创建 。
类 (class)
1.概念 类 (class),是客观对象的归纳和抽象,
是具有共同属性和行为的对象的集合。
基于类可以生成这类对象中的任何一个具体对象,这些对象具有相同的属性。
2,类的特性
(1)封装性 (Encapsulation) 将对象的方法和属性代码包装在一起,隐藏其复杂性 。
(2)继承性 (Inheritance) 子类延用父类的特征 。
对象的引用
在容器类对象中可以包含其它对象,由此构成了对象之间互相包含的 层次关系 。
( 1)绝对引用 从最外层容器指向目标对象。
例 Form1.PageFrame1.Page1.cmdClear.Caption
=,清除”
( 2) 相对引用 从参照对象指向目标对象 。
例 ThisForm.cmdExit.Caption =,退出,
第 2节
2
常用控件及其属性掌握第 8章
要求会利用表单设计器设计简单表单,包括添加控件,设置对象属性,编写事件过程,把数据表加入表单数据环境 ( 限单数据表 ) 等
常用控件及其主要属性:
表单,caption (标题 ) 属性
标签,caption,autosize,name,wordrap、
相关字体的属性 ( 字体,大小,颜色等 )
常用控件及其主要属性
文本框,value (包括 value属性的设置,类型 )、
passwordchar,readonly,inputmask
命令按钮,enabled visible,gotfocus(含焦点 )
编辑框,( 与文本框的区别 )
容器,( 容器里控件的添加,编辑和引用 )
命令按钮组,value