第6章 面向对象程序设计优秀PPT.ppt
《第6章 面向对象程序设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第6章 面向对象程序设计优秀PPT.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 面向对象程序面向对象程序设计设计现在学习的是第1页,共73页6.16.1面向对象程序设计的基本概念面向对象程序设计的基本概念6.1.16.1.1面向对象程序设计面向对象程序设计l lVisual FoxProVisual FoxPro不但支持传统的面向过程的程序设计,而且也提不但支持传统的面向过程的程序设计,而且也提供了面向对象的可视化程序设计的功能。供了面向对象的可视化程序设计的功能。l l面向过程的程序设计采取结构化的程序设计方法,程序是由传面向过程的程序设计采取结构化的程序设计方法,程序是由传递参数的程序和函数的集合组成,每个过程处理它的参数,并递参数的程序和函数的集合组成,
2、每个过程处理它的参数,并可能返回某个值,这种程序是以过程为中心的。程序员是基于可能返回某个值,这种程序是以过程为中心的。程序员是基于过程来组织模块的,这必然会导致程序的结构与实际应用领域过程来组织模块的,这必然会导致程序的结构与实际应用领域中的结构相差很大。中的结构相差很大。l l面向对象的程序设计方法是一种系统化的程序设计方法。它允面向对象的程序设计方法是一种系统化的程序设计方法。它允许抽象化、模块化的分层结构,具有动态性、继承性和封装性。许抽象化、模块化的分层结构,具有动态性、继承性和封装性。现在学习的是第2页,共73页例例:分别用面向过程和面向对象的程序设分别用面向过程和面向对象的程序设
3、计方法设计一个程序:用户向计算机计方法设计一个程序:用户向计算机输入两个数输入两个数a,ba,b后,要求计算机能输后,要求计算机能输出出a+ba+b的和的和c c。ClearClearStore 0 to a,b,cStore 0 to a,b,c2,0 say”2,0 say”请输入请输入a a的值:的值:”get aget a4,0 say”4,0 say”请输入请输入b b的值:的值:”get bget bReadReadc=a+bc=a+b?”c=a+b=”,c?”c=a+b=”,c(1)新建表单(2)在表单中添加3个用户输入a,b和显示c的值的文本框text1,text2,text3
4、,2个标签label1,label2.(3)将label1和label2的Caption属性分别设置为“+”和“=”,3个文本框的value属性都设置为0。(4)在text2的lostfocus事件中添加代码:thisform.text3.value=thisform.text1.value+thisform.text2.value(5)保存并运行表单现在学习的是第3页,共73页面向对象设计方法的优点:面向对象设计方法的优点:程序执行界面与程序执行界面与WindowsWindows应用程序完全相同,属于图形化界面,操作简单,应用程序完全相同,属于图形化界面,操作简单,界面友好;界面友好;程序员
5、编写的代码少,基本控件程序员编写的代码少,基本控件VFPVFP已经提供,开发效率高;已经提供,开发效率高;程序属于事件驱动,对控件的相应事件添加方法程序即可。程序属于事件驱动,对控件的相应事件添加方法程序即可。以数据为中心而不是以服务(功能)为中心,具有较强的稳定性以数据为中心而不是以服务(功能)为中心,具有较强的稳定性面向对象与面向过程的最大区别是:前者关心的是所要处理的数据,面向对象与面向过程的最大区别是:前者关心的是所要处理的数据,而后者首先关心的是功能而后者首先关心的是功能现在学习的是第4页,共73页第6章面向对象程序设计6.1.26.1.2面向对象的基本概念面向对象的基本概念1 1对
6、象对象(Object)(Object)l l对象可以是现实世界中的任何物体,例如一扇窗户可以作为对象,一辆汽车可以作对象可以是现实世界中的任何物体,例如一扇窗户可以作为对象,一辆汽车可以作为对象,一台计算机可以作为对象。为对象,一台计算机可以作为对象。构成程序的基本单位和运行实体。例如:表单,文本框,构成程序的基本单位和运行实体。例如:表单,文本框,按纽,标签等。按纽,标签等。l lVFPVFP中的对象是系统将某些属性(数据)和对该属性(数据)的操作代码封装起来的模块,是有中的对象是系统将某些属性(数据)和对该属性(数据)的操作代码封装起来的模块,是有特殊属性(数据)和行为方式(方法)的逻辑实
7、体。特殊属性(数据)和行为方式(方法)的逻辑实体。l l对象对象=数据数据+作用于数据上的操作作用于数据上的操作l l对象都具有一定的属性、特征,并可以产生一定的行为。对象的核心概念就是通常所说的封装性、继承对象都具有一定的属性、特征,并可以产生一定的行为。对象的核心概念就是通常所说的封装性、继承性和多态性。性和多态性。2.2.类类l l类是对一组相似对象的性质描述,这些对象具有相同种类的属性和方法。类是对一组相似对象的性质描述,这些对象具有相同种类的属性和方法。l l类决定了对象的特征,所有对象的属性、事件和方法程序在定义类时被指定。有了类决定了对象的特征,所有对象的属性、事件和方法程序在定
8、义类时被指定。有了类的定义后,就可以基于类生成这类对象的任何一个对象。类的定义后,就可以基于类生成这类对象的任何一个对象。现在学习的是第5页,共73页第6章面向对象程序设计3.3.属性属性l l属性即对象的特性,是对象的外观及行为的特征。属性即对象的特性,是对象的外观及行为的特征。l l在在Visual FoxProVisual FoxPro中,各种对象具有中,各种对象具有7070多个属性。对象的属性可多个属性。对象的属性可以在建立对象时由其所属的类以在建立对象时由其所属的类(或子类或子类)中继承,也可以在对象中继承,也可以在对象创建或运行时进行修改与设置。创建或运行时进行修改与设置。4.4.
9、事件事件l l事件是事件是可能发生在对象上的事情,即用户或者系统触发对象所可能发生在对象上的事情,即用户或者系统触发对象所作的一个特定操作。作的一个特定操作。对象可以识别和响应的行为与操作,用户对象可以识别和响应的行为与操作,用户可以编写相应的代码对此进行响应。可以编写相应的代码对此进行响应。l l在在Visual FoxProVisual FoxPro中,事件集不能象方法集那样,可以无限扩展,中,事件集不能象方法集那样,可以无限扩展,事件集是相对固定的,用户不能再创建新的事件。事件集是相对固定的,用户不能再创建新的事件。现在学习的是第6页,共73页第6章面向对象程序设计6.6.方法方法l l
10、方法是对象可以执行的动作,是封装在对象内部的,在任何时方法是对象可以执行的动作,是封装在对象内部的,在任何时候都不能独立存在于对象之外。在候都不能独立存在于对象之外。在Visual FoxProVisual FoxPro中提供了中提供了5050多多种不同的方法,每种方法都有自己的名称,称为方法名。种不同的方法,每种方法都有自己的名称,称为方法名。l lVisual FoxProVisual FoxPro中不同的对象具有不同的方法,与事件不同的是,中不同的对象具有不同的方法,与事件不同的是,方法程序集合可以无限扩展,除了在各个类中已定义的方法外,方法程序集合可以无限扩展,除了在各个类中已定义的方
11、法外,可以根据需要自定义方法可以根据需要自定义方法(向类中添加新方法向类中添加新方法),以完成相应的,以完成相应的操作,新建的方法属于表单或表单集。操作,新建的方法属于表单或表单集。现在学习的是第7页,共73页第6章面向对象程序设计6.1.3 6.1.3 事件驱动机制事件驱动机制 l l事件驱动:事件驱动:指程序运行时始终处于等待某个事件的发生状态,指程序运行时始终处于等待某个事件的发生状态,一旦某个事件被触发时,系统马上就去执行与该事件对应的方一旦某个事件被触发时,系统马上就去执行与该事件对应的方法程序或过程,待事件过程执行完毕后,系统又处于等待某个法程序或过程,待事件过程执行完毕后,系统又
12、处于等待某个事件的发生状态。事件的发生状态。现在学习的是第8页,共73页第6章面向对象程序设计l lVisual FoxProVisual FoxPro事件发生顺序的规则事件发生顺序的规则 :运行表单时总是先触发表单的运行表单时总是先触发表单的loadload事件,然后触发表单的事件,然后触发表单的InitInit事件。事件。表单中所有控件的表单中所有控件的InitInit事件在表单的事件在表单的InitInit事件之前触发。事件之前触发。表单的表单的DestroyDestroy事件先于它所包含的控件对象的事件先于它所包含的控件对象的InitInit事件触发。事件触发。释放表单时,释放表单时,
13、UnloadUnload事件是最后一个触发的事件。事件是最后一个触发的事件。当拖动一个控件时,系统将忽略其他鼠标事件。在拖放操作中当拖动一个控件时,系统将忽略其他鼠标事件。在拖放操作中MouseUpMouseUp和和MouseMoveMouseMove事件不会发生。事件不会发生。ValidValid和和WhenWhen事件有返回值,默认为事件有返回值,默认为.T.T.。若从。若从WhenWhen事件返回事件返回.F.F.或或0 0,控件将不能被激活;若从,控件将不能被激活;若从ValidValid事件返回事件返回.F.F.或或0 0,则不能将焦点从,则不能将焦点从控件上移走。控件上移走。现在学
14、习的是第9页,共73页第7章表单6.2 6.2 类类6.2.1 6.2.1 类的特点类的特点 1 1封装性封装性l l类的封装性是指将类的特性及其方法程序加以隐蔽,全部封装在类的内部,类的封装性是指将类的特性及其方法程序加以隐蔽,全部封装在类的内部,不让其复杂性暴露在外面。不让其复杂性暴露在外面。l l封装性保证了模块具有较好的独立性,使得程序的维护和修改比较容易。对应封装性保证了模块具有较好的独立性,使得程序的维护和修改比较容易。对应用程序的修改仅限于类的内部,因而可以将修改程序带来的影响减少到最低程用程序的修改仅限于类的内部,因而可以将修改程序带来的影响减少到最低程度。度。2 2继承性继承
15、性l l继承是指在基于现有的类创建新类时,新类继承了现有的类的属性和方法,此继承是指在基于现有的类创建新类时,新类继承了现有的类的属性和方法,此外,新类中还可以有自己所特有的新的属性和方法。外,新类中还可以有自己所特有的新的属性和方法。3 3多态性多态性l l多态性是指允许不同类的对象对同一消息作出响应。多态性是指允许不同类的对象对同一消息作出响应。现在学习的是第10页,共73页第6章面向对象程序设计6.2.2 6.2.2 基类和子类基类和子类 l l每个基类都有自己的属性、事件和方法。由于基类只考虑通用每个基类都有自己的属性、事件和方法。由于基类只考虑通用特征和功能,难以满足用户的各种要求,
16、用户常常要从基类中特征和功能,难以满足用户的各种要求,用户常常要从基类中派生出一个类。从基类派生出来的类称作子类,也称作自定义派生出一个类。从基类派生出来的类称作子类,也称作自定义类。基类称作父类。一个子类还可以作为父类进一步派生出新类。基类称作父类。一个子类还可以作为父类进一步派生出新的子类。的子类。l l基类存放在安装时的默认路径下基类存放在安装时的默认路径下(C:program filesMicrosoft visual(C:program filesMicrosoft visual studioVisual FoxPro98ffc_base.vcx)studioVisual FoxPr
17、o98ffc_base.vcx)。现在学习的是第11页,共73页第6章面向对象程序设计6.2.3 Visual FoxPro6.2.3 Visual FoxPro中的类中的类l l对象是在类的基础上建立起来的,所以对象的种类是由类决定对象是在类的基础上建立起来的,所以对象的种类是由类决定的。的。Visual FoxProVisual FoxPro中的类分为两大类型:容器类和控件类。中的类分为两大类型:容器类和控件类。1.1.容器类容器类 容器类派生的对象可以包含其他对象,并且允许访问这些对象。容器类派生的对象可以包含其他对象,并且允许访问这些对象。2.2.控件类控件类 控件类派生的对象是一个相
18、对独立的整体,不能包含其他对象。控控件类派生的对象是一个相对独立的整体,不能包含其他对象。控件类是可以包含在容器类中并由用户派生的件类是可以包含在容器类中并由用户派生的Visual FoxProVisual FoxPro基类。基类。现在学习的是第12页,共73页第第6章面向对象程序设计章面向对象程序设计6.3 6.3 对象对象6.3.1 6.3.1 对象的常用属性对象的常用属性l l从功能上看,属性可以分为布局和修饰属性、数据属性、状态属性和其他从功能上看,属性可以分为布局和修饰属性、数据属性、状态属性和其他属性。属性。1 1布局属性布局属性(1 1)AlignmentAlignment属性属
19、性l l指定与控件有关的文本对齐方式,设置值为数值指定与控件有关的文本对齐方式,设置值为数值(0(0、1 1、2 2,)。对于不同。对于不同的控件,其设置值和含义不完全相同,通常的控件,其设置值和含义不完全相同,通常0-0-左对齐,左对齐,1-1-右对齐,右对齐,2-2-中间对齐,中间对齐,3-3-自动方式。自动方式。(2 2)AlwaysOnTopAlwaysOnTop属性属性l l指定表单是否永远处于所有窗口的最上层而不被其他窗口覆盖。设置值为逻辑值(指定表单是否永远处于所有窗口的最上层而不被其他窗口覆盖。设置值为逻辑值(.T.T.或或.F.F.),缺省值为),缺省值为.F.F.。现在学习
20、的是第13页,共73页第第6章面向对象程序设计章面向对象程序设计(3 3)AutoCenterAutoCenter属性属性l l指定表单是否处于指定表单是否处于Visual FoxProVisual FoxPro主窗口或桌面的最中间。设置值主窗口或桌面的最中间。设置值为逻辑值(为逻辑值(.T.T.或或.F.F.),缺省值为),缺省值为.F.F.。(4 4)AutoSizeAutoSize属性属性l l指定控件是否根据其内容的长短自动调整大小。设置值为逻辑指定控件是否根据其内容的长短自动调整大小。设置值为逻辑值(值(.T.T.或或.F.F.),缺省值为),缺省值为.F.F.。(5 5)Deskt
21、opDesktop属性属性l l指定表指定表单单是是处处于于Visual FoxProVisual FoxPro主窗口中主窗口中还还是是处处于桌面中。于桌面中。设设置置值值为逻辑值为逻辑值(.T.T.或或.F.F.),缺省),缺省值为值为.F.F.(处处于于Visual FoxProVisual FoxPro主窗口中)主窗口中)。现在学习的是第14页,共73页第第6章面向对象程序设计章面向对象程序设计(6 6)HeightHeight和和WidthWidth属性属性l lHeightHeight属性用于指定屏幕上某个属性用于指定屏幕上某个对对象的高度;象的高度;WidthWidth属性用于指属
22、性用于指定屏幕上某个定屏幕上某个对对象的象的宽宽度。度。设设置置值为值为数数值值,缺省,缺省单单位位为为像素。像素。(7 7)LeftLeft和和TopTop属性属性l lLeftLeft属性用于指定控件最左边相对于其父对象的位置;属性用于指定控件最左边相对于其父对象的位置;TopTop属性属性用于指定控件顶边相对于其父对象顶边的位置。设置值为数值,用于指定控件顶边相对于其父对象顶边的位置。设置值为数值,缺省单位为像素。缺省单位为像素。现在学习的是第15页,共73页第第6章面向对象程序设计章面向对象程序设计2 2修饰属性修饰属性(1 1)BackColorBackColor、ForeColor
23、ForeColor属性属性l lBackColorBackColor属性用于指定对象内文本和图形的背景色;属性用于指定对象内文本和图形的背景色;ForeColorForeColor属性用于指定对象属性用于指定对象内文本和图形的前景色。例如,要设置表单内文本和图形的前景色。例如,要设置表单Form1Form1中文本框中文本框Text1Text1的前景色为红的前景色为红色、背景色为黑色,则代码为:色、背景色为黑色,则代码为:ThisForm.Text1.ThisForm.Text1.foreforeColor=RGB(255,0,0)Color=RGB(255,0,0)ThisForm.Text1
24、.BackColor=RGB(0,0,0)ThisForm.Text1.BackColor=RGB(0,0,0)(2 2)BackStyleBackStyle属性属性l l指定对象的背景色是否透明。设置值为数值(指定对象的背景色是否透明。设置值为数值(0 0或或1 1),缺省值为),缺省值为1 1(不透明)。如果本(不透明)。如果本属性设置为属性设置为0 0(透明),则(透明),则BackColorBackColor属性的设置被忽略。属性的设置被忽略。(3 3)BorderStyleBorderStyle属性属性l l指定对象的边界风格,设置值为数值(指定对象的边界风格,设置值为数值(0 0、
25、1 1、2 2、)。对于不同的控件,其设)。对于不同的控件,其设置值和含义都是不同的。置值和含义都是不同的。现在学习的是第16页,共73页第第6章面向对象程序设计章面向对象程序设计(4 4)CaptionCaption属性属性l l该属性用于指定对象的标题。如要把表单该属性用于指定对象的标题。如要把表单Form1Form1的标题设置为的标题设置为“学生学生”,则代,则代码为:码为:ThisForm.Caption=“ThisForm.Caption=“学生学生”(5 5)CurvatureCurvature属性属性l l用于指定用于指定ShapeShape控件的拐角曲率,设置值为数值。控件的拐
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 面向对象程序设计优秀PPT 面向 对象 程序设计 优秀 PPT
限制150内