第7章面向对象的程序设计优秀PPT.ppt
《第7章面向对象的程序设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第7章面向对象的程序设计优秀PPT.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章面向对象的程序设计章面向对象的程序设计现在学习的是第1页,共67页第七章第七章 面向对象的程序设计面向对象的程序设计n n 面向对象程序设计(简称面向对象程序设计(简称OOP)技术最近几)技术最近几年在计算机领域得到了迅猛发展,它是程序设计年在计算机领域得到了迅猛发展,它是程序设计方法的一场革命。方法的一场革命。n n 与传统的结构化程序设计(面向过程程序设计)与传统的结构化程序设计(面向过程程序设计)相比,它具有许多优点,其中最主要的是,面向相比,它具有许多优点,其中最主要的是,面向对象程序设计是按照人类认识世界的方法和思路对象程序设计是按照人类认识世界的方法和思路方式来解决问题。方
2、式来解决问题。n n 面向对象程序设计试图使程序设计环境适合于面向对象程序设计试图使程序设计环境适合于现实世界的问题,而不是象过程程序设计所要求现实世界的问题,而不是象过程程序设计所要求的使现实世界的问题适合于程序设计语言。的使现实世界的问题适合于程序设计语言。现在学习的是第2页,共67页.面向对象程序设计与过程化程序设计的比较面向对象程序设计与过程化程序设计的比较n n .过程化过程化(结构化结构化)程序设计及其优缺点程序设计及其优缺点(1)n n 结构化程序设计的设计方法,是将程序结构按功能划结构化程序设计的设计方法,是将程序结构按功能划分成若干基本模块,这些模块形成一个树形结构,自顶分成
3、若干基本模块,这些模块形成一个树形结构,自顶向下,逐步求精。程序设计时,使各模块之间的关系相向下,逐步求精。程序设计时,使各模块之间的关系相对紧密。对紧密。n n 每一模块内部均由顺序、选择、和循环三种基本结构每一模块内部均由顺序、选择、和循环三种基本结构组成,其模块化实现的具体方法是使用了过程(子程序)。组成,其模块化实现的具体方法是使用了过程(子程序)。n n 这样,一个较复杂的系统按功能分解成许多易于控制和这样,一个较复杂的系统按功能分解成许多易于控制和处理的子系统、子任务,这些子系统、子任务都是可独立处理的子系统、子任务,这些子系统、子任务都是可独立编程实现的子程序模块,而这些子程序均
4、由分级的用户界编程实现的子程序模块,而这些子程序均由分级的用户界面菜单实现调用。面菜单实现调用。现在学习的是第3页,共67页.过程化过程化(结构化结构化)程序设计及其优缺点程序设计及其优缺点(2)n n 在大型软件系统设计中,由于软件系统本身的复杂性,在大型软件系统设计中,由于软件系统本身的复杂性,要求必须许多人通力合作,采用工程化的方法进行开发要求必须许多人通力合作,采用工程化的方法进行开发和管理,这也对程序设计语言和程序设计方法提出了更和管理,这也对程序设计语言和程序设计方法提出了更高的要求。高的要求。n n 通过使用结构化程序设计方法,可以对整个任务进行清通过使用结构化程序设计方法,可以
5、对整个任务进行清晰严格的划分,使每个程序员能明确了解自己的工作任务晰严格的划分,使每个程序员能明确了解自己的工作任务以及与他人的接口。以及与他人的接口。n n 每个程序员可以独立地设计调试自己负责的模块,最终各每个程序员可以独立地设计调试自己负责的模块,最终各每个程序员可以独立地设计调试自己负责的模块,最终各每个程序员可以独立地设计调试自己负责的模块,最终各模块也能够顺利地集成到整个系统中去。模块也能够顺利地集成到整个系统中去。模块也能够顺利地集成到整个系统中去。模块也能够顺利地集成到整个系统中去。n n 结构化程序设计方法,由于模块之间逻辑结构清晰,功结构化程序设计方法,由于模块之间逻辑结构
6、清晰,功能相对独立,满足了大型软件系统易维护性和可读性的要能相对独立,满足了大型软件系统易维护性和可读性的要求。求。n n 因此,结构化程序设计能够较好地满足大型软件系统的设因此,结构化程序设计能够较好地满足大型软件系统的设因此,结构化程序设计能够较好地满足大型软件系统的设因此,结构化程序设计能够较好地满足大型软件系统的设计要求,是现代软件工程的基础。计要求,是现代软件工程的基础。计要求,是现代软件工程的基础。计要求,是现代软件工程的基础。现在学习的是第4页,共67页.过程化过程化(结构化结构化)程序设计及其优缺点程序设计及其优缺点(3)n n尽管结构化程序设计具有许多优点,但它仍然是一种面向
7、尽管结构化程序设计具有许多优点,但它仍然是一种面向数据和过程的设计方法,它把数据和过程分离为相互独立数据和过程的设计方法,它把数据和过程分离为相互独立的实体。的实体。n n程序员在编程时必须要时刻考虑所要处理的数据格式,对于不程序员在编程时必须要时刻考虑所要处理的数据格式,对于不程序员在编程时必须要时刻考虑所要处理的数据格式,对于不程序员在编程时必须要时刻考虑所要处理的数据格式,对于不同的数据格式,即使要做同样的处理或对相同的数据格式要做同的数据格式,即使要做同样的处理或对相同的数据格式要做同的数据格式,即使要做同样的处理或对相同的数据格式要做同的数据格式,即使要做同样的处理或对相同的数据格式
8、要做不同的处理,都需要编写不同的程序,因此重用性不够好。不同的处理,都需要编写不同的程序,因此重用性不够好。不同的处理,都需要编写不同的程序,因此重用性不够好。不同的处理,都需要编写不同的程序,因此重用性不够好。n n 另一方面,当数据和过程相互独立时,总存在用错误的另一方面,当数据和过程相互独立时,总存在用错误的数据调用正确程序模块,或用正确的数据调用错误程序模数据调用正确程序模块,或用正确的数据调用错误程序模块的可能性。块的可能性。n n 因此,要使数据与程序始终保持相容等问题,结构化程因此,要使数据与程序始终保持相容等问题,结构化程序设计方法本身是无法解决的,这可借助于新一代设计方序设计
9、方法本身是无法解决的,这可借助于新一代设计方法法面向对象的程序设计方法。面向对象的程序设计方法。现在学习的是第5页,共67页.面向对象程序设计及其优越性面向对象程序设计及其优越性(1)n n 面向对象程序设计将数据及对数据的操作融为面向对象程序设计将数据及对数据的操作融为一体,作为一个相互依存、不可分割的整体来处一体,作为一个相互依存、不可分割的整体来处理。它采用数据抽象和信息隐藏技术,将对象及理。它采用数据抽象和信息隐藏技术,将对象及对象的操作抽象成一种新的数据类型对象的操作抽象成一种新的数据类型类,并类,并且考虑到不同对象之间的联系和对象类的重用性。且考虑到不同对象之间的联系和对象类的重用
10、性。n n 面向对象程序设计所追求的目标是将现实世界面向对象程序设计所追求的目标是将现实世界的问题求解尽可能简单化,采用符合人类处理问的问题求解尽可能简单化,采用符合人类处理问题的思维方式。题的思维方式。n n 它用它用“对象对象”表现事物,用表现事物,用“事件事件”表示处理表示处理事物的动作,用事物的动作,用“方法方法”表现处理事物的过程,表现处理事物的过程,用用“消息消息”传递对象与对象之间的相互联系。传递对象与对象之间的相互联系。现在学习的是第6页,共67页.面向对象程序设计及其优越性面向对象程序设计及其优越性(2)n n 面向对象程序设计时,不再是单纯地从代码的第一行一面向对象程序设计
11、时,不再是单纯地从代码的第一行一直编写到最后一行,而是考虑如何创建对象,利用对象来直编写到最后一行,而是考虑如何创建对象,利用对象来简化程序设计,并提供代码的可重用性。同时面向对象程简化程序设计,并提供代码的可重用性。同时面向对象程序设计也吸取了结构化程序设计的优点。序设计也吸取了结构化程序设计的优点。n n面向对象程序设计,可以支持先进的软件开发策略:编写可面向对象程序设计,可以支持先进的软件开发策略:编写可面向对象程序设计,可以支持先进的软件开发策略:编写可面向对象程序设计,可以支持先进的软件开发策略:编写可重用代码,编写可维护的代码,共享代码,优化已有的代码重用代码,编写可维护的代码,共
12、享代码,优化已有的代码重用代码,编写可维护的代码,共享代码,优化已有的代码重用代码,编写可维护的代码,共享代码,优化已有的代码等。等。等。等。n n有了高质量的可重用代码就能有效地降低软件的复杂性,提高有了高质量的可重用代码就能有效地降低软件的复杂性,提高有了高质量的可重用代码就能有效地降低软件的复杂性,提高有了高质量的可重用代码就能有效地降低软件的复杂性,提高软件开发效率。开发者在设计软件时可以利用一些已经精心设软件开发效率。开发者在设计软件时可以利用一些已经精心设软件开发效率。开发者在设计软件时可以利用一些已经精心设软件开发效率。开发者在设计软件时可以利用一些已经精心设计好并且经过测试的代
13、码,这些可重用的代码被组织和存放在计好并且经过测试的代码,这些可重用的代码被组织和存放在计好并且经过测试的代码,这些可重用的代码被组织和存放在计好并且经过测试的代码,这些可重用的代码被组织和存放在程序设计环境的类库中,使以后程序设计过程变得更简单。程序设计环境的类库中,使以后程序设计过程变得更简单。程序设计环境的类库中,使以后程序设计过程变得更简单。程序设计环境的类库中,使以后程序设计过程变得更简单。现在学习的是第7页,共67页.面向对象程序设计及其优越性面向对象程序设计及其优越性(3)n n 面向对象程序设计方法具有模块化、信息封装面向对象程序设计方法具有模块化、信息封装与隐藏、抽象性、继承
14、性、多态性等特点,它又与隐藏、抽象性、继承性、多态性等特点,它又解决了大型软件系统设计与管理中所需的软件可解决了大型软件系统设计与管理中所需的软件可靠性、可重用性、可扩充性、可维护性及提高开靠性、可重用性、可扩充性、可维护性及提高开发效率等问题。因此,面向对象程序设计能够更发效率等问题。因此,面向对象程序设计能够更好地支持大型软件系统的开发。好地支持大型软件系统的开发。n n Visual FoxPro不但仍然支持标准的结构化程序不但仍然支持标准的结构化程序设计,而且在语言上还进行了扩展,提供了面向设计,而且在语言上还进行了扩展,提供了面向对象程序设计的强大功能和更大灵活性。对象程序设计的强大
15、功能和更大灵活性。现在学习的是第8页,共67页.面向对象程序设计的基本概念面向对象程序设计的基本概念n n 面向对象技术为软件开发提供了一种新的思想,面向对象技术为软件开发提供了一种新的思想,引入了许多新的概念,这些概念是理解和使用面引入了许多新的概念,这些概念是理解和使用面向对象技术的基础和关键。向对象技术的基础和关键。n n .对象对象(Object)(1)n n 现实世界的实体现实世界的实体事、物、概念等,都统称事、物、概念等,都统称为对象。在面向对象系统中一切成份都是对象,为对象。在面向对象系统中一切成份都是对象,大到整个系统、项目、数据库、表、表单,小到大到整个系统、项目、数据库、表
16、、表单,小到窗口、控件都被视为对象。窗口、控件都被视为对象。n n 对象是一个逻辑实体,它包括数据和完成处理对象是一个逻辑实体,它包括数据和完成处理所需要的程序代码,是数据和代码的组合。所需要的程序代码,是数据和代码的组合。现在学习的是第9页,共67页.对象对象(Object)(2)n n 在在在在VFPVFP中称对象的特征和数据为中称对象的特征和数据为中称对象的特征和数据为中称对象的特征和数据为“属性属性属性属性”,称由对象识别,称由对象识别,称由对象识别,称由对象识别的一个动作为的一个动作为的一个动作为的一个动作为“事件事件事件事件”,称在对象上完成的操作过程为,称在对象上完成的操作过程为
17、,称在对象上完成的操作过程为,称在对象上完成的操作过程为“方方方方法法法法”。n n 定义了对象的属性、事件和方法就决定对象的外观和它的动定义了对象的属性、事件和方法就决定对象的外观和它的动定义了对象的属性、事件和方法就决定对象的外观和它的动定义了对象的属性、事件和方法就决定对象的外观和它的动作。因此,对象是属性、事件和方法的集合体,用户通过属性、作。因此,对象是属性、事件和方法的集合体,用户通过属性、作。因此,对象是属性、事件和方法的集合体,用户通过属性、作。因此,对象是属性、事件和方法的集合体,用户通过属性、事件和方法来处理对象。事件和方法来处理对象。事件和方法来处理对象。事件和方法来处理
18、对象。n n 对象的基本特点是具有属性,用来描述自己的状态;有方法,对象的基本特点是具有属性,用来描述自己的状态;有方法,对象的基本特点是具有属性,用来描述自己的状态;有方法,对象的基本特点是具有属性,用来描述自己的状态;有方法,构成自己的行为;有可以识别的事件,响应外界的刺激。构成自己的行为;有可以识别的事件,响应外界的刺激。构成自己的行为;有可以识别的事件,响应外界的刺激。构成自己的行为;有可以识别的事件,响应外界的刺激。n n以设计一个模拟收音机的程序为例,收音机有属性以设计一个模拟收音机的程序为例,收音机有属性以设计一个模拟收音机的程序为例,收音机有属性以设计一个模拟收音机的程序为例,
19、收音机有属性“音量音量音量音量”,可以调节播放声音的大小;有方法可以调节播放声音的大小;有方法可以调节播放声音的大小;有方法可以调节播放声音的大小;有方法“广播广播广播广播”,来完成播放功能;,来完成播放功能;,来完成播放功能;,来完成播放功能;有事件有事件有事件有事件“改变音量改变音量改变音量改变音量”,在改变音量时触发。,在改变音量时触发。,在改变音量时触发。,在改变音量时触发。现在学习的是第10页,共67页.对象对象(Object)(3)n 又例如,一个视图窗口就是一个对象。视又例如,一个视图窗口就是一个对象。视图窗口的位置、大小、和颜色都是视图对象图窗口的位置、大小、和颜色都是视图对象
20、的的“属性属性”;对视图的修改操作后,将数据;对视图的修改操作后,将数据替换源表,是视图对象的替换源表,是视图对象的“方法方法”;当数据;当数据修改完用鼠标点动关闭视图按钮,就产生关修改完用鼠标点动关闭视图按钮,就产生关闭视图的闭视图的“事件事件”,视图对象接收到这个关,视图对象接收到这个关闭动作(事件)后,就会执行另一方法程序闭动作(事件)后,就会执行另一方法程序将视图数据发送回源表。将视图数据发送回源表。现在学习的是第11页,共67页.对象对象(Object)(4)n n 综上所述,我们可以把对象初步理解为:综上所述,我们可以把对象初步理解为:对象是一个封装了属性、事件和方法的实体。对象是
21、一个封装了属性、事件和方法的实体。uu 属性描述了对象的状态、特征;属性描述了对象的状态、特征;uu 每个对象都有可以识别和响应的事件,事每个对象都有可以识别和响应的事件,事件是一种定义好的特定动作,每当对对象进行件是一种定义好的特定动作,每当对对象进行某种操作时,就会引发该事件所对应的程序代某种操作时,就会引发该事件所对应的程序代码被执行;码被执行;uu 每当其他对象向本对象发出消息并触发事每当其他对象向本对象发出消息并触发事件时,与事件相关联的方法程序才得以执行。件时,与事件相关联的方法程序才得以执行。uu 方法可以操作对象数据,改变对象的状态、方法可以操作对象数据,改变对象的状态、特征。
22、特征。现在学习的是第12页,共67页 .类类n n “类类类类”源于日常生活中类别、分类概念。同类实体具有相同的源于日常生活中类别、分类概念。同类实体具有相同的源于日常生活中类别、分类概念。同类实体具有相同的源于日常生活中类别、分类概念。同类实体具有相同的属性和行为特征。类是对一组相似对象的共同抽象描述,它将属性和行为特征。类是对一组相似对象的共同抽象描述,它将属性和行为特征。类是对一组相似对象的共同抽象描述,它将属性和行为特征。类是对一组相似对象的共同抽象描述,它将该组对象所具有的共同特征集中起来,用于说明该组对象的性该组对象所具有的共同特征集中起来,用于说明该组对象的性该组对象所具有的共同
23、特征集中起来,用于说明该组对象的性该组对象所具有的共同特征集中起来,用于说明该组对象的性质和能力。质和能力。质和能力。质和能力。n n 可以看出,可以看出,可以看出,可以看出,“类类类类”是将相同属性和行为特征的对象,提取是将相同属性和行为特征的对象,提取是将相同属性和行为特征的对象,提取是将相同属性和行为特征的对象,提取共同属性和特征而产生的,是对象抽象化的结果,是对象的共同属性和特征而产生的,是对象抽象化的结果,是对象的共同属性和特征而产生的,是对象抽象化的结果,是对象的共同属性和特征而产生的,是对象抽象化的结果,是对象的兰图和框架。兰图和框架。兰图和框架。兰图和框架。n n 而而“对象对
24、象”是类的具体实例,它是将类所描述的共同是类的具体实例,它是将类所描述的共同特征赋予具体实体而形成的。因此,类与对象既有区别,特征赋予具体实体而形成的。因此,类与对象既有区别,又有联系,两者关系十分紧密。又有联系,两者关系十分紧密。n n 所有对象的属性、事件和方法都是在定义类时被指定,所有对象的属性、事件和方法都是在定义类时被指定,由于类是定义了对象特征、外观和行为的模板,所以对由于类是定义了对象特征、外观和行为的模板,所以对象由类生成,生成的对象也自然具有相同的属性、事件象由类生成,生成的对象也自然具有相同的属性、事件和方法。例如,由复选框类、单选按钮类可以生成各种和方法。例如,由复选框类
25、、单选按钮类可以生成各种形式的复选框、单选按钮。形式的复选框、单选按钮。现在学习的是第13页,共67页.面向对象程序设计的特性面向对象程序设计的特性(1)与结构化程序设计相比,面向对象程序设计与结构化程序设计相比,面向对象程序设计有许多突出特性,即抽象性、封装性、继承性和有许多突出特性,即抽象性、封装性、继承性和多态性。多态性。n n 抽象性抽象性n n 一般而言,抽象是对复杂的实体的简明表示,一般而言,抽象是对复杂的实体的简明表示,它强调了我们所关心的或认为重要的信息,而将它强调了我们所关心的或认为重要的信息,而将不重要的信息予以忽略。不重要的信息予以忽略。n n 例,我们对电话的认识已经抽
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 优秀 PPT
限制150内