第七章 面向对象设计基础PPT教学课件
合集下载
Visual FoxPro 9.0 基础教程第7章 面向对象程序设计基础
类的事件、方法和属性的定义
类的事件和方法的定义
类的属性的定义
对象的操作
由类创建对象 objectname =createobject(classname) 设置对象的属性 父类.对象.属性=值 mand1.Caption=“退出” 调用对象的方法和触发对象的事件 Parent.Object.Method Parent.Object.Event 对象触发则执行事件的对应代码
7.1.2 类的概念
类(Class) 所谓类,就是一组对象的属性和行为特征的抽象描述。或者说,类是具有共同属性、共同操作性质的对象的集合。 类是对象的抽象描述;对象是类的实例。类是抽象的,对象是具体的。
7.2.1 基类
基类又可以分成容器类和控件类: 容器类(Containers class)可以容纳其它对象,并允许访问所包含的对象。如表单,自身是一个对象,它又可以把按钮、编辑框、文本框等放在表单中。 控件类不能容纳其它对象,它没有容器类灵活。如文本框,自身是一个对象,在文本框中不可放其它对象。由控件类创造的对象,是不能单独使用和修改的,它只能做为容器类中的一个元素,通过由容器类创造的对象修改或使用。
面向对象的可视化程序设计方法举例
7.1.1 对象的概念
对象(Object) 对象是反映客观事物属性及行为特征的描述。 对象是面向对象编程的基本元素,是“类”的具体实例。 属性(Properties) 对象的属性特征标识了对象的物理性质;对象的行为特征描述了对象可执行的行为动作。 对象的每一种属性,都是与其它对象加以区别的特性,都具有一定的含义,并赋予一定的值。
设计对象的两种方式
用编程方式设计对象 用面向对象方式设计对象
对象设计实例:编程方式
form1.SHOW 调用方法
类的事件和方法的定义
类的属性的定义
对象的操作
由类创建对象 objectname =createobject(classname) 设置对象的属性 父类.对象.属性=值 mand1.Caption=“退出” 调用对象的方法和触发对象的事件 Parent.Object.Method Parent.Object.Event 对象触发则执行事件的对应代码
7.1.2 类的概念
类(Class) 所谓类,就是一组对象的属性和行为特征的抽象描述。或者说,类是具有共同属性、共同操作性质的对象的集合。 类是对象的抽象描述;对象是类的实例。类是抽象的,对象是具体的。
7.2.1 基类
基类又可以分成容器类和控件类: 容器类(Containers class)可以容纳其它对象,并允许访问所包含的对象。如表单,自身是一个对象,它又可以把按钮、编辑框、文本框等放在表单中。 控件类不能容纳其它对象,它没有容器类灵活。如文本框,自身是一个对象,在文本框中不可放其它对象。由控件类创造的对象,是不能单独使用和修改的,它只能做为容器类中的一个元素,通过由容器类创造的对象修改或使用。
面向对象的可视化程序设计方法举例
7.1.1 对象的概念
对象(Object) 对象是反映客观事物属性及行为特征的描述。 对象是面向对象编程的基本元素,是“类”的具体实例。 属性(Properties) 对象的属性特征标识了对象的物理性质;对象的行为特征描述了对象可执行的行为动作。 对象的每一种属性,都是与其它对象加以区别的特性,都具有一定的含义,并赋予一定的值。
设计对象的两种方式
用编程方式设计对象 用面向对象方式设计对象
对象设计实例:编程方式
form1.SHOW 调用方法
《面向对象基础》课件
单例模式和工厂模式
详细解释单例模式和工厂模式的设计思想和实现方式,以及它们在实际项目 中的应用及优势。
解释什么是类和对象,并对它们之间的关系进行阐述。讲解如何定义类、创建对象以及如何使用类和对 象实现代码的重用。
封装性和信息隐藏
详细介绍封装性的概念和作用,以及如何通过信息隐藏提高程序的可维护性 和安全性。
继承和多态
深入研究继承和多态的概念,讲解如何使用继承创建基于现有类的新类,并 探讨多态在面向对象编程中的应用和优势。
抽象和接口
探讨抽象的概念和作用,以及接口的定义和使用。说明抽象类和接口在面向 对象编程中的区别和用途。
对象关系
讨论对象之间的关系,包括关联、聚合、组合和依赖。解释不同关系的特点和使用场景。
策略模式和状态模式
介绍策略模式和状态模式的概念和应用场景,说明它们如何帮助我们实现灵 活的行为和状态管理。
《面向对象基础了解面向对象的基础知识,从概述开始,逐步探 讨类和对象、封装性和信息隐藏、继承和多态等概念,最后会介绍一些常用 的设计模式和原则。
面向对象概述
学习面向对象编程的重要性和优势,探讨面向对象的基本概念和特征,了解面向对象程序设计的思想和 方法。
类和对象
面向对象的程序设计基础课件
2. AddObject方法是在运行时向容器对象中添加对象。 3. Clear方法是清除组合框或列表框中的内容。 4. Refresh方法是重画表单或控件,并刷新所有值。 5.Setall方法是为容器对象中的控件或某类控件指定属性
设置。 6. SetFocus方法是为一个控件指定焦点 7.Show方法是显示一个表单,并且确定是模式表单还是无
如按【Tab】键或单击,或者在代码中使用 SetFocus方法
VFP的核心事件集
• Lostfocus:对象失去焦点,由用户动作引起,如按【 Tab】键或单击,或者在代码中使用SetFocus方法
• KeyPress:用户按下或释放键 • MouseDown:当鼠标指针停在一个对象上时,用户按
下鼠标按钮。 • MouseMove:用户在对象上移动鼠标 • MouseUp:当鼠标指针停在一个对象上时,用户释放
对象
1每个对象都具有属性以及与之相关的事件和方法,通过对象的属 性、事件和方法来处理对象。
§ 属性 定义对象的特征或某一方面的行为,如大小、颜色、所处 的位置等。
§ 事件 是由对象识别的一个动作,可以编写相应的代码,以对此 动作进行响应。事件是一种预先定义好的特定动作,被用户或系 统激活,每个对象都可以对事件的动作进行识别和响应。在多数 情况下,事件是由用户的交互行为产生的 (用户不能创建新的事 件)
返 回
类的分类
v 基类 ( base class ) ——VFP 系统提供的内部定义的类, 用做其他用户自定义类的基础。(如表单和所有控件)
v 子类(Subclass)——以其他类定义为起点,为某一种对象 所建立的新类。子类将继承任何对父类(即子类所基于的 类)所做的修改。
v 用户自定义类——与基类相似,但由用户定义,并且可用 来派生子类。这种类没有可视化表示形式。
设置。 6. SetFocus方法是为一个控件指定焦点 7.Show方法是显示一个表单,并且确定是模式表单还是无
如按【Tab】键或单击,或者在代码中使用 SetFocus方法
VFP的核心事件集
• Lostfocus:对象失去焦点,由用户动作引起,如按【 Tab】键或单击,或者在代码中使用SetFocus方法
• KeyPress:用户按下或释放键 • MouseDown:当鼠标指针停在一个对象上时,用户按
下鼠标按钮。 • MouseMove:用户在对象上移动鼠标 • MouseUp:当鼠标指针停在一个对象上时,用户释放
对象
1每个对象都具有属性以及与之相关的事件和方法,通过对象的属 性、事件和方法来处理对象。
§ 属性 定义对象的特征或某一方面的行为,如大小、颜色、所处 的位置等。
§ 事件 是由对象识别的一个动作,可以编写相应的代码,以对此 动作进行响应。事件是一种预先定义好的特定动作,被用户或系 统激活,每个对象都可以对事件的动作进行识别和响应。在多数 情况下,事件是由用户的交互行为产生的 (用户不能创建新的事 件)
返 回
类的分类
v 基类 ( base class ) ——VFP 系统提供的内部定义的类, 用做其他用户自定义类的基础。(如表单和所有控件)
v 子类(Subclass)——以其他类定义为起点,为某一种对象 所建立的新类。子类将继承任何对父类(即子类所基于的 类)所做的修改。
v 用户自定义类——与基类相似,但由用户定义,并且可用 来派生子类。这种类没有可视化表示形式。
面向对象程序设计第七章PPT教学课件
2. Windows窗体
生成Windows窗体的代码被放置在Form.cs文件和 Form1.Designer.cs文件中。在Form.cs文件中,定义 了一个分部类Form1,它就是Windows窗体类。
3. 对窗体和窗体上的控件初始化
分部类Form1包含的InitializeComponent方法。该方 法完成对窗体和窗体上的控件进行初始化工作。
性。它是一个Cursor对象,常用Cursors集合设置。 鼠标指针的取值:
Arrow:箭头光标。 Cross:十字线光标。 Default:默认光标,通常为箭头光标。 Hand:手形光标。 WaitCursor:等待光标,通常是沙漏形状。
Form1.Cursor=Cursors.WaitCursor;
6. 关闭窗体 调用Form类的Close方法,可以关闭窗体。它只能在程序
代码中使用。
2020/12/10
8
7. 激活窗体并给予它焦点 使用Focus或Activate方法,激活窗体并给予它焦点。
public bool Focus() 如果窗体获得焦点,该方法返回true;否则,返回
false。
2020/12/10
3
7.2 Windows窗体
7.2.1 Windows窗体基本知识 Windows应用程序的窗体本身也是一个对象,它是位
于System.Windows.Forms命名空间中的Form类。 1. 设置窗体的名称 使用Form类的Name属性,可以指定窗体的名称。在
代码中,使用窗体的名称可以访问窗体。
2020/12/10
11
7.3 Windows窗体控件
7.3.1 控件概述 控件是Windows窗体的重要组成部分,它是封装界面元素,
生成Windows窗体的代码被放置在Form.cs文件和 Form1.Designer.cs文件中。在Form.cs文件中,定义 了一个分部类Form1,它就是Windows窗体类。
3. 对窗体和窗体上的控件初始化
分部类Form1包含的InitializeComponent方法。该方 法完成对窗体和窗体上的控件进行初始化工作。
性。它是一个Cursor对象,常用Cursors集合设置。 鼠标指针的取值:
Arrow:箭头光标。 Cross:十字线光标。 Default:默认光标,通常为箭头光标。 Hand:手形光标。 WaitCursor:等待光标,通常是沙漏形状。
Form1.Cursor=Cursors.WaitCursor;
6. 关闭窗体 调用Form类的Close方法,可以关闭窗体。它只能在程序
代码中使用。
2020/12/10
8
7. 激活窗体并给予它焦点 使用Focus或Activate方法,激活窗体并给予它焦点。
public bool Focus() 如果窗体获得焦点,该方法返回true;否则,返回
false。
2020/12/10
3
7.2 Windows窗体
7.2.1 Windows窗体基本知识 Windows应用程序的窗体本身也是一个对象,它是位
于System.Windows.Forms命名空间中的Form类。 1. 设置窗体的名称 使用Form类的Name属性,可以指定窗体的名称。在
代码中,使用窗体的名称可以访问窗体。
2020/12/10
11
7.3 Windows窗体控件
7.3.1 控件概述 控件是Windows窗体的重要组成部分,它是封装界面元素,
面向对象设计课件
做到对扩展开放,对修改封闭呢? 实现开放封闭的核心思想就是对抽象编程,而不对
具体编程,因为抽象相对稳定。让类依赖于固定的 抽象,所以对修改就是封闭的;而通过面向对象的 继承和多态机制,可以实现对抽象体的继承,通过 覆写其方法来改变固有行为,实现新的扩展方法, 所以对于扩展就是开放的。
✓ 另一种定义方式如下: • 就一个类而言,应该仅有一个引起它变化的原因。
✓ 其英文定义为: • There should never be more than one reason for a class to change.
面向对象设计
单一职责原则
单一职责原则分析
✓ 一个类(或者大到模块,小到方法)承担的职责越多,它被复用的 可能性越小,而且如果一个类承担的职责过多,就相当于将这些职 责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运 作。
软件的可维护性和可复用性
✓ 软件的复用(Reuse)或重用拥有众多优点,如可以提高软件 的开发效率,提高软件质量,节约开发成本,恰当的复用还 可以改善系统的可维护性。
✓ 面向对象设计复用的目标在于实现支持可维护性的复用。 ✓ 在面向对象的设计里面,可维护性复用都是以面向对象设计
原则为基础的,这些设计原则首先都是复用的原则,遵循这 些设计原则可以有效地提高系统的复用性,同时提高系统的 可维护性。
✓ 开放封闭原则主要体现在两个方面: 对扩展开放,意味着有新的需求或变化时,可以对现有 代码进行扩展,以适应新的情况。 对修改封闭,意味着类一旦设计完成,就可以独立其工 作,而不要对类尽任何修改。
面向对象设计
开闭原则
为什么要用到开放封闭原则呢? 软件需求总是变化的,世界上没有一个软件
的是不变的,因此对软件设计人员来说,必 须在不需要对原有系统进行修改的情况下, 实现灵活的系统扩展。
具体编程,因为抽象相对稳定。让类依赖于固定的 抽象,所以对修改就是封闭的;而通过面向对象的 继承和多态机制,可以实现对抽象体的继承,通过 覆写其方法来改变固有行为,实现新的扩展方法, 所以对于扩展就是开放的。
✓ 另一种定义方式如下: • 就一个类而言,应该仅有一个引起它变化的原因。
✓ 其英文定义为: • There should never be more than one reason for a class to change.
面向对象设计
单一职责原则
单一职责原则分析
✓ 一个类(或者大到模块,小到方法)承担的职责越多,它被复用的 可能性越小,而且如果一个类承担的职责过多,就相当于将这些职 责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运 作。
软件的可维护性和可复用性
✓ 软件的复用(Reuse)或重用拥有众多优点,如可以提高软件 的开发效率,提高软件质量,节约开发成本,恰当的复用还 可以改善系统的可维护性。
✓ 面向对象设计复用的目标在于实现支持可维护性的复用。 ✓ 在面向对象的设计里面,可维护性复用都是以面向对象设计
原则为基础的,这些设计原则首先都是复用的原则,遵循这 些设计原则可以有效地提高系统的复用性,同时提高系统的 可维护性。
✓ 开放封闭原则主要体现在两个方面: 对扩展开放,意味着有新的需求或变化时,可以对现有 代码进行扩展,以适应新的情况。 对修改封闭,意味着类一旦设计完成,就可以独立其工 作,而不要对类尽任何修改。
面向对象设计
开闭原则
为什么要用到开放封闭原则呢? 软件需求总是变化的,世界上没有一个软件
的是不变的,因此对软件设计人员来说,必 须在不需要对原有系统进行修改的情况下, 实现灵活的系统扩展。
VBA编程基础ppt课件
2.关系运算符
用来表示两个或多个值或表达式之间的大小关
系,有相等(=)、不等(<>)、小于(<)、 大于(>)、小于相等(<=)和大于相等(>=) 等6个运算符。
MyValue = ( 10 > 4 )
’ 返回True
MyValue = ( 1=2 )
’ 返回False
MyValue = (”周” < ”刘” )
循环流程如图8.15所示。
5.Do—Loop Until语句 Do
循环体 [条件语句序列
Exit Do 结束条件语句序列] Loop Until 条件式 循环流程如图8.16所示。
7.4 VBA流程控制语句
28
语句块
语句块
T 条件表 达式 F
图 8.15 Do—Loop While循环语句流程图
F 条件表 达式 T
7.4 VBA流程控制语句
19
7.4.2 条件语句 1.If—Then语句(单分支结构) 语句结构为:
If <条件表达式1> Then <条件表达式1为真时要执行的语句> 或 If <条件表达式1> Then
<条件表达式1为真时要执行的语句序列> End If
F 条件表达 式
T
语句块
T 语句块1
条件表达 式
图 8.16 Do—Loop Until循环语句流程图
7.5 面向对象程序设计的基本概念
29
7.5.1 集合和对象
一个对象就是一个实体,如一辆自行车或一个人 等。每种对象都具有一些属性以相互区分,如自行 车的尺寸、颜色等。即属性可以定义对象的一个实 例。
《面向对象的》课件
多态
允许一个接口多种形态存 在,即一个接口可以有多 个实现方式,增强了代码 的灵活性和可扩展性。
面向对象与面向过程的区别
面向对象强调的是对象之间的交互和关系,注重的是系统的整体性和复用性;而面 向过程则更注重程序的执行流程和算法的实现。
面向对象编程将数据和操作封装在一起,形成具有特定属性和行为的对象,更符合 人类的思维习惯;而面向过程编程则更注重功能模块的划分和调用。
C#
总结词
C#是一种面向对象的编程语言,由微软公司开发,具有语法严谨、易于上手的特点。
详细描述
C#语言支持类和对象的概念,提供了丰富的API和库,广泛应用于Windows桌面应用程序开发、游戏 开发等领域。C#还支持跨平台开发,可以在其他操作系统上运行。
04
面向对象的应用领域
游戏开发
游戏策划
面向对象编程有助于更好地设计和组 织游戏策划,将游戏的各种元素(如 角色、物品、关卡等)视为对象,便 于管理和扩展。
详细描述
继承是面向对象编程中的重要概念,它允许创建分等级的类。基类(也称为父类 )定义了共享的属性和方法,派生类(也称为子类)继承这些属性和方法,并可用变量来引用子类对象,调用子类 重写的方法。
详细描述
多态允许一个接口被多个类实现,一个接口引用变量可以指 向任何实现该接口的类的对象。当通过接口引用变量调用方 法时,将根据实际对象的类型来决定调用哪个实现类的方法 。
面向对象编程通过类和对象的概念实现代码的重用和扩展,提高了软件的可维护性 和可复用性;而面向过程编程则更注重程序的执行效率和算法的优化。
02
面向对象的主要技术
类与对象
总结词
类是对象的抽象,对象是类的实 例。
详细描述
Java基础课件-面向对象程序设计PPT
Set接口
无序、不可重复的集合, HashSet、TreeSet等实现类
Map接口
键值对形式的集合, HashMap、Hashtable等实现 类
迭代器和遍历集合
1
增强fo r循环
2
简化集合遍历的语法,遍历数组和集
合
3
迭代器模式
通过迭代器访问集合元素,实现集合 的遍历
集合遍历算法
Java 8引入的Stream API提供丰富的 集合遍历和处理方法
多线程编程
多线程编程可以提高程序的效率和响应性。我们将探索Java提供的多线程机 制,学习线程的创建、同步和互斥等关键概念。
Java基础课件-面向对象程 序设计PPT
本课件旨在介绍Java基础知识和面向对象程序设计的概念。我们将深入讨论 Java类与对象、封装、继承、多态,以及其他关键主题,一起来学习吧!
Java基础概述
1 Java语言特点
简洁、面向对象、可移 植、高性能
2 开发环境准备
JDK安装、IDE选择、 环境变量配置
代码分析、编译器指令、 配置文件生成等
通过元注解为注解添加 元数据和其他信息
Java字符串和日期时间处理
字符串处理
字符串连接、分割、截取等常 用操作
日期时间处理
日期格式化、获取时间戳、计 算日期差等
正ห้องสมุดไป่ตู้表达式
文本模式匹配和替换的强大工 具
Java集合框架
List接口
有序、可重复的集合, ArrayList、LinkedList等实现 类
构造方法
对象实例化时执行的特殊方法
成员变量和成员方法
1
成员变量
在类中定义的属性,代表对象的状态
面向对象程序设计基础
属性与方法的引用方式为:
对象.属性名或对象.方法名,引用中的“对象” 描述,一般使用如下格式:父对象类名!子对象名。
1.2 对象和类的概念
类是对一类相似对象的性质描述,这些对象具有相同的性质; 相同种类的属性以及方法。类是对象的抽象,而对象是类的具体实例。
在Access 2003中,除表、查询、窗体、报表、页、宏和模块等 7种对象外,还可以在VBA中使用一些范围更广泛的对象,例如,“记 录集”对象、DoCmd对象等。
Access数据库技术与应用
面向对象程序设计基础
1.1 面向对象的程序设计概念 面向对象技术提供了一个具有全新概念的程序
开发模式,它将面向对象分析(OOA,Object-Oriented Analysis)、面向对象设计(OOD,Object-Oriented Design)和面向对象程序设计(OOP,Object-Oriented Programming)集成在一起,其核心概念是“面向对 象”。
Байду номын сангаас
Access数据库技术与应用
2. DoCmd对象 DoCmd是Access 2003数据库的一个重要对象,它的主要功能是 通过调用Access 内置的方法,在VBA 中实现某些特定的操作。 例如:利用DoCmd对象的OpenForm方法打开“学生信息录入” 窗体,使用的语句格式为: DoCmd.OpenForm "学生信息录入"
所谓面向对象(Object-Oriented),可以这样定义: 面向对象=对象+类+属性的继承+对象之间的通 信。
1.2 对象和类的概念
1. 对象和类 客观世界的任何实体都可以被看作是对象。每 个对象都具有描述其特征的属性及附属于它的行为, 属性用来表示对象的状态,方法用来描述对象的行为。 属性和方法是与对象紧密联系的,“对象”既可以是 一个单一对象,也可以是对象的集合。
对象.属性名或对象.方法名,引用中的“对象” 描述,一般使用如下格式:父对象类名!子对象名。
1.2 对象和类的概念
类是对一类相似对象的性质描述,这些对象具有相同的性质; 相同种类的属性以及方法。类是对象的抽象,而对象是类的具体实例。
在Access 2003中,除表、查询、窗体、报表、页、宏和模块等 7种对象外,还可以在VBA中使用一些范围更广泛的对象,例如,“记 录集”对象、DoCmd对象等。
Access数据库技术与应用
面向对象程序设计基础
1.1 面向对象的程序设计概念 面向对象技术提供了一个具有全新概念的程序
开发模式,它将面向对象分析(OOA,Object-Oriented Analysis)、面向对象设计(OOD,Object-Oriented Design)和面向对象程序设计(OOP,Object-Oriented Programming)集成在一起,其核心概念是“面向对 象”。
Байду номын сангаас
Access数据库技术与应用
2. DoCmd对象 DoCmd是Access 2003数据库的一个重要对象,它的主要功能是 通过调用Access 内置的方法,在VBA 中实现某些特定的操作。 例如:利用DoCmd对象的OpenForm方法打开“学生信息录入” 窗体,使用的语句格式为: DoCmd.OpenForm "学生信息录入"
所谓面向对象(Object-Oriented),可以这样定义: 面向对象=对象+类+属性的继承+对象之间的通 信。
1.2 对象和类的概念
1. 对象和类 客观世界的任何实体都可以被看作是对象。每 个对象都具有描述其特征的属性及附属于它的行为, 属性用来表示对象的状态,方法用来描述对象的行为。 属性和方法是与对象紧密联系的,“对象”既可以是 一个单一对象,也可以是对象的集合。
《软件工程》教学课件CH7-1面向对象的概念
面向对象分析与设计的建模
软件开发需要把问题解决模型化。 模型化是理解一个复杂系统的工具; 模型是系统早期抽象的重要结构; 常用的面向对象分析与设计模型 Rumbaugh 等人的 OMT 模型 Coad 和 Yourdon 的模型 Booch 开发模型 UML 统一建模语言
面向对象的特点
抽象性:对象的数据抽象和行为抽象; 封装性:信息隐蔽; 共享性: 同一类中所有实例共享数据结构和行为特征; 同一应用中所有实例通过继承共享数据结构和 行为特征; 不同应用中所有实例通过复用共享数据结构和 行为特征
对象
对象是系统中用来描述客观事物的一个实体,是 构成系统的一个基本单位,由一组属性和一组对 属性进行操作的服务组成。 属性一般只能通过执行对象的操作来改变。
2)
a.
b.
c.
3)
a. b.
活动定义了工作人员所执行的工作。有 3 类 步骤: 思考步骤 执行步骤 评审步骤 制品是过程生产、修改或使用的一种信息。 RUP 的制品分为 5 个信息集。 管理集:计划制品、操作制品 需求集:构想文档、项目相关人员需求、 用例模型和业务模型
c.
d.
e.
4)
设计集:设计模型、软件体系结构描述、 测试模型 实现集:源代码和可执行程序、相关数据 结构和数据文档 实施集:安装资料、用户文档、培训材料 工作流用来描述生成结果的活动序列,用以 描述工作人员之间的交互。在 RUP 中共有 9 个核心过程工作流,包括 6 个核心工程工作 流和 3 个核心支持工作流。
用例和参与者的事例 银行储户通过自动取款机(自动柜员机)提款, 转账或检查账户余额。用一组用例表达如下:
第七章-面向对象设计PPT课件
面向对象的软件设计过程
7.1 设计用例实现方案
本节介绍UML交互图的语言机制和用例实现方案的设 计方法。
UML的交互图包括顺序图和协作图,适于用例实 现方案的表示。
用例实现方案的设计方法有三个步骤: (1) 提取边界类、实体类和控制类; (2) 构造交互图; (3) 根据交互图精化类图。
7.1.1 顺序图
(1) 界面控制:包括输入数据的格式及内容转换,输出结果的 呈现,软件运行过程中界面的变化与切换等。
(2) 外部接口:实现目标软件系统与外部系统或外部设备之间 的信息交流和互操作。主要关注跨越目标软件系统边界的 通信协议。
(3) 环境隔离:将目标软件系统与操作系统、数据库管理系统、 应用服务器中间件等环境软件进行交互的功能与特性封装 于边界类之中,使目标软件系统的其余部分尽可能地独立 于环境软件。
UML四种类型的消息
(1) 简单消息(Simple Message) 以一种简单、抽象的函数表示对象之间的信息传 递,不考虑通信过程的内部细节。简单消息在 UML顺序图中用普通的有向箭头表示。
(2) 同步消息(Synchronous Message) 消息源发出消息后必须等待消息处理过程完毕并返 回处理结果后,消息源才可继续执行后续操作。前 面所述的自调用消息应该是同步的。同步消息的表 示图元与简单消息相同,这表明UML在缺省情形 下认为简单消息即为同步消息。
第七章 面向对象的设计方法
设计用例实现方案 设计技术支撑方案 设计用户界面 精化设计模型 RUP中的分析与设计流程
面向对象的设计方法
基于UML的面向对象设计方法将分析模型转换为设 计模型。
面向对象: 分析模型---顶层架构图、用例与用例图、领域概念 模型构成。 设计模型----- 以包图表示的软件体系结构图 以交互图表示的用例实现图 完整、精确的类图 复杂对象的状态图 描述流程化处理过程的活动图
【正式版】面向对象基础PPT
在中定义一个类就是要定义类的成员都数据和成员函数 。
8.1.2 类的成员类型
类的成员类型包括三大类:一类是私有(private),即 外界不能调用。一类是公有(public),即外界可以调用。一 类是受保护(protected),此内容将在后面小节中介绍。Leabharlann 8.1.3 调用类中的成员
类中的成员只有指明类型为public后,外界才能调用。 外界可以调用类中的公有成员数据和公有成员函数。在调用 类的成员之前需要实例化类,即创建类的对象。因为类中成 员只有在创建类的对象时,才会在内存中分配空间。
用户可将类看成是一种数据类型,对象是这种数据类型的变量。
在大型程序设计初期开析发者构往函往不数需要不思考带具体任的逻何辑参过程数。 ,也没有返回值(包括void类型 一所类以是 如受果保想护在)(派。生pro类te一引ct用ed个基)类,类的此成内中员容,只将可在能以后将面有基小类节一的中成介个员绍声。析明为构pro函tect数ed。。如果用户没有编写析构 析构函数一般函用数于在,类对编象清译除时系释放统成会员所自占的动内存生空间成。 一个默认的析构函数,但这个析 析析构构函 函数数不是带指构任在函何类参对数数象,消不也除没时进有自返动行回执值行任(的何包函括数操,vo一id作类般型用。)于。释所放内以存许空间多。 简单的类中没有显式的析 构函数。 实现接口的类中一定要包括接口中全部方法的实现。
8.3.3 派生类的构造函数
已存在的类称为基类或父类。
构析造构函 函数数是不指带在任类何对参象数派创,建也生时没类自有动返从执回行值基的(函包类数括,v继o一id类般承型用)了于。初非始化私成员有数据成。员函数和数据成员,但是 类中包括成员在数建据和立成员派函数生。 类的对象时,系统只执行派生类的构造函数,而 在实中现先 接声口明的一类不个中会类一,定自然要后包动用括类接执去口定中行义全若部基干方类个法同的的类实型现构的。对造象。函数。也就是说,基类的构造函数 一类是受保护是(不prote能cted继),承此内的容。将在如后面果小节基中介类绍。的构造函数包含对变量的初始化, 实如现果接 用口户的没类有那中编么一写定析在要构包函建括数接,立口编中译派全系部统生方会类法自的动的实生现成对。一个象默认时的析,构由函数于,但没这个有析构执函数行不基进行类任何的操作构。 造函就 会使基类的变量未初始化。 所以如果想在派生类引用基类的成员,可以将基类的成员声明为protected。
8.1.2 类的成员类型
类的成员类型包括三大类:一类是私有(private),即 外界不能调用。一类是公有(public),即外界可以调用。一 类是受保护(protected),此内容将在后面小节中介绍。Leabharlann 8.1.3 调用类中的成员
类中的成员只有指明类型为public后,外界才能调用。 外界可以调用类中的公有成员数据和公有成员函数。在调用 类的成员之前需要实例化类,即创建类的对象。因为类中成 员只有在创建类的对象时,才会在内存中分配空间。
用户可将类看成是一种数据类型,对象是这种数据类型的变量。
在大型程序设计初期开析发者构往函往不数需要不思考带具体任的逻何辑参过程数。 ,也没有返回值(包括void类型 一所类以是 如受果保想护在)(派。生pro类te一引ct用ed个基)类,类的此成内中员容,只将可在能以后将面有基小类节一的中成介个员绍声。析明为构pro函tect数ed。。如果用户没有编写析构 析构函数一般函用数于在,类对编象清译除时系释放统成会员所自占的动内存生空间成。 一个默认的析构函数,但这个析 析析构构函 函数数不是带指构任在函何类参对数数象,消不也除没时进有自返动行回执值行任(的何包函括数操,vo一id作类般型用。)于。释所放内以存许空间多。 简单的类中没有显式的析 构函数。 实现接口的类中一定要包括接口中全部方法的实现。
8.3.3 派生类的构造函数
已存在的类称为基类或父类。
构析造构函 函数数是不指带在任类何对参象数派创,建也生时没类自有动返从执回行值基的(函包类数括,v继o一id类般承型用)了于。初非始化私成员有数据成。员函数和数据成员,但是 类中包括成员在数建据和立成员派函数生。 类的对象时,系统只执行派生类的构造函数,而 在实中现先 接声口明的一类不个中会类一,定自然要后包动用括类接执去口定中行义全若部基干方类个法同的的类实型现构的。对造象。函数。也就是说,基类的构造函数 一类是受保护是(不prote能cted继),承此内的容。将在如后面果小节基中介类绍。的构造函数包含对变量的初始化, 实如现果接 用口户的没类有那中编么一写定析在要构包函建括数接,立口编中译派全系部统生方会类法自的动的实生现成对。一个象默认时的析,构由函数于,但没这个有析构执函数行不基进行类任何的操作构。 造函就 会使基类的变量未初始化。 所以如果想在派生类引用基类的成员,可以将基类的成员声明为protected。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语法:Container.SetAll(‘属性名’,属性值)
7.1.2 对象
4) Setfocus:为某一个控件设置焦点。 5) AddItem()
在组合框或列表框中添加一个新数据项。 Control.AddItem( c [, n] [, nColumn]) C:指定添加到控件中的字符串表达式。 n指定控件中放置数据项的位置。 nColumn指定控件的列,新数据项加入到此列中 (6) RemoveItem方法:从组合框或列表框中移去一列表 项。
D)当连续发生一系列事件时,若起始事件与某个控件相 关联,那么整个事件队列都属于该控件。
2) 控制事件循环 创建事件循环: READ EVENTS 终止事件循环: CLEAR EVENTS
7.1.2 对象
(3)常用事件 1)Load:当表单或表单集被加载时发生的事件。 2)Unload:从内存中释放表单或表单集时发生的事 件。 3)Init:创建对象时发生的事件。 4) Destroy:从内存中释放对象时发生的事件。 5) Click:鼠标左键单击对象时发生的事件。 6) Dbclick: 鼠标左键双击对象时发生的事件。 7) Rightclick:鼠标右键单击对象时发生的事件。 8) GotFocus:对象接收到焦点时发生的事件。
7.2 对象
1.对象的特点 (1)对象由属性、事件、方法构成。 (2)对象用属性来描述自己的状态;有方法,构成自己
的行为;有可以识别的事件,响应外界的刺激。 (3)对象是一个封装了属性、事件和方法的实体。 2.对象的属性
在VFP中称对象的特征和数据为“属性” (1)每个对象都有属性,它是由对象所基于的类决定的 (2)用户可自定义属性。 (3)属性的值可以在设计时或在运行时进行设置。 (4)通常创建对象时,属性都有一个默认值。
绝对引用。 例:MAND1 2) 相对引用
对象相对引用是通过使用一些属性和关键字,可以 直接从对象某层次中引用对象。 例: MAND3
7.2 对象
关键字 ActiveForm ActivePage ActiveControl
7.1 类
4. 基类 (1)基类的种类
(2) 基类的最小事件集 1) Init(初始): 当对象创建时激活。 2) Error(错误): 当类中的事件或方法发生错误时激 活。 3) Destroy(破坏): 当对象从内存中释放时激活。
(3) 基类的最小属性集 1) Class :指定派生对象的类。 2) BaseClass: 指定被引用对象的基类名。 3) ClassLibrary : 指定所属的类库文件名. 4) ParentClass: 返回对象所属于的父类名。
PPT教学课件
谢谢观看
Tha nk You For Watc hing
含义 当前活动表单 当前活动表单中的活动页面 当前活动表单中具有焦点的控件
Parent This ThisForm
该对象的直接容器 该对象 包含该对象的表单
ThisFormSet 包含该对象的表单集
7.1 .2 对象
(3) 对象的属性设置 1)在 [属性]窗口设置属性值 2)在程序中设置对象属性
Container.Object.Property=Value (即:容器.对象.属性=值)
实现是由事件驱动的。 VFP事件处理机制的原则
1) VFP的对象有两种类型的层次关系:容器层次和类层 次
例如:表单Form1上有一个基于Commandbutton 基类的子类Tuichu产生的对象Command1
Commandbutton (基类)
类
Tuichu
(子类)
层
次
mand1 (对象)
(容器) (控件) (属性)
容器层次
A)如果对象的某个事件没有相关代码,则VFP不会找包含 这个对象的容器的相关事件代码。
B)如果对象的某个事件没有相关代码,则VFP将去找产生 这个对象的类的相关事件代码,直到基类为止。
C)对选项按钮组和命令按钮组,如果组中按钮没有事件 代码,当该按钮该事件触发时性的引用: (1) 操作符号
1) . 用于分隔对象的双亲和对象中属性、事件方法 <对象>.<对象属性> <对象>.<对象> 2) :: 用于从子类调用父类 。
也可以用函数 DoDefault()来实现
(2) 引用方法 1) 绝对引用 从最高容器开始逐层向下直到某个对象为止的引用称为
7.1.2 对象
5.对象的事件 称由对象识别和响应的某中操作行为称为“事件”
(1)事件的性质 1)用户不能自定义新的事件. 2)事件的发生除了是用户动作引起的随机事件外,其 他事件的发生是有一定顺序的。。 3)事件的方法代码中将忽略RETURN语句(除了WHEN、 INIT、VALID以外)
(2) 事件驱动模型 程序代码的执行总是由某个事件的发生而引起,其功能的
4. 对象的方法 (1)方法的性质
方法是对象能够执行的一个操作, 用户可自定义方法。 (2)方法的调用 调用对象方法的语法: Object . Method 即: < 对象 >.< 方法 > 这里的对象引用同样可以绝对引用或相对引用
7.1.2 对象
(3)常用方法 1) Refresh 重新绘制表单或控件,并刷新所有值。 语法:Object .Refresh 例如:ThisForm .Refresh 2) Release 从内存释放表单或表单集。 3) Setall( ) 为容器对象中的所有控件指定一个相同的属性值。
第七章 面向对象设计基础
7.1类与对象的概念
7.1 类
1. 定义 2. 类是具有共同的属性和行为特征的对象的集合。 2. 类的性质 (1)封装性 (2)继承性(子类) (3)多态性
7.1 类
3. 类的分类 (1) 可容纳性
1)容器类 所产生的对象可以包含其他对象的类。
2) 控件类 所产生的对象不能包含其他对象的类。 (2) 与数据的关系 1)数据绑定型 2)非数据绑定型
7.1.2 对象
4) Setfocus:为某一个控件设置焦点。 5) AddItem()
在组合框或列表框中添加一个新数据项。 Control.AddItem( c [, n] [, nColumn]) C:指定添加到控件中的字符串表达式。 n指定控件中放置数据项的位置。 nColumn指定控件的列,新数据项加入到此列中 (6) RemoveItem方法:从组合框或列表框中移去一列表 项。
D)当连续发生一系列事件时,若起始事件与某个控件相 关联,那么整个事件队列都属于该控件。
2) 控制事件循环 创建事件循环: READ EVENTS 终止事件循环: CLEAR EVENTS
7.1.2 对象
(3)常用事件 1)Load:当表单或表单集被加载时发生的事件。 2)Unload:从内存中释放表单或表单集时发生的事 件。 3)Init:创建对象时发生的事件。 4) Destroy:从内存中释放对象时发生的事件。 5) Click:鼠标左键单击对象时发生的事件。 6) Dbclick: 鼠标左键双击对象时发生的事件。 7) Rightclick:鼠标右键单击对象时发生的事件。 8) GotFocus:对象接收到焦点时发生的事件。
7.2 对象
1.对象的特点 (1)对象由属性、事件、方法构成。 (2)对象用属性来描述自己的状态;有方法,构成自己
的行为;有可以识别的事件,响应外界的刺激。 (3)对象是一个封装了属性、事件和方法的实体。 2.对象的属性
在VFP中称对象的特征和数据为“属性” (1)每个对象都有属性,它是由对象所基于的类决定的 (2)用户可自定义属性。 (3)属性的值可以在设计时或在运行时进行设置。 (4)通常创建对象时,属性都有一个默认值。
绝对引用。 例:MAND1 2) 相对引用
对象相对引用是通过使用一些属性和关键字,可以 直接从对象某层次中引用对象。 例: MAND3
7.2 对象
关键字 ActiveForm ActivePage ActiveControl
7.1 类
4. 基类 (1)基类的种类
(2) 基类的最小事件集 1) Init(初始): 当对象创建时激活。 2) Error(错误): 当类中的事件或方法发生错误时激 活。 3) Destroy(破坏): 当对象从内存中释放时激活。
(3) 基类的最小属性集 1) Class :指定派生对象的类。 2) BaseClass: 指定被引用对象的基类名。 3) ClassLibrary : 指定所属的类库文件名. 4) ParentClass: 返回对象所属于的父类名。
PPT教学课件
谢谢观看
Tha nk You For Watc hing
含义 当前活动表单 当前活动表单中的活动页面 当前活动表单中具有焦点的控件
Parent This ThisForm
该对象的直接容器 该对象 包含该对象的表单
ThisFormSet 包含该对象的表单集
7.1 .2 对象
(3) 对象的属性设置 1)在 [属性]窗口设置属性值 2)在程序中设置对象属性
Container.Object.Property=Value (即:容器.对象.属性=值)
实现是由事件驱动的。 VFP事件处理机制的原则
1) VFP的对象有两种类型的层次关系:容器层次和类层 次
例如:表单Form1上有一个基于Commandbutton 基类的子类Tuichu产生的对象Command1
Commandbutton (基类)
类
Tuichu
(子类)
层
次
mand1 (对象)
(容器) (控件) (属性)
容器层次
A)如果对象的某个事件没有相关代码,则VFP不会找包含 这个对象的容器的相关事件代码。
B)如果对象的某个事件没有相关代码,则VFP将去找产生 这个对象的类的相关事件代码,直到基类为止。
C)对选项按钮组和命令按钮组,如果组中按钮没有事件 代码,当该按钮该事件触发时性的引用: (1) 操作符号
1) . 用于分隔对象的双亲和对象中属性、事件方法 <对象>.<对象属性> <对象>.<对象> 2) :: 用于从子类调用父类 。
也可以用函数 DoDefault()来实现
(2) 引用方法 1) 绝对引用 从最高容器开始逐层向下直到某个对象为止的引用称为
7.1.2 对象
5.对象的事件 称由对象识别和响应的某中操作行为称为“事件”
(1)事件的性质 1)用户不能自定义新的事件. 2)事件的发生除了是用户动作引起的随机事件外,其 他事件的发生是有一定顺序的。。 3)事件的方法代码中将忽略RETURN语句(除了WHEN、 INIT、VALID以外)
(2) 事件驱动模型 程序代码的执行总是由某个事件的发生而引起,其功能的
4. 对象的方法 (1)方法的性质
方法是对象能够执行的一个操作, 用户可自定义方法。 (2)方法的调用 调用对象方法的语法: Object . Method 即: < 对象 >.< 方法 > 这里的对象引用同样可以绝对引用或相对引用
7.1.2 对象
(3)常用方法 1) Refresh 重新绘制表单或控件,并刷新所有值。 语法:Object .Refresh 例如:ThisForm .Refresh 2) Release 从内存释放表单或表单集。 3) Setall( ) 为容器对象中的所有控件指定一个相同的属性值。
第七章 面向对象设计基础
7.1类与对象的概念
7.1 类
1. 定义 2. 类是具有共同的属性和行为特征的对象的集合。 2. 类的性质 (1)封装性 (2)继承性(子类) (3)多态性
7.1 类
3. 类的分类 (1) 可容纳性
1)容器类 所产生的对象可以包含其他对象的类。
2) 控件类 所产生的对象不能包含其他对象的类。 (2) 与数据的关系 1)数据绑定型 2)非数据绑定型