可视化编程技术(3)

上传人:资****亨 文档编号:489686876 上传时间:2024-05-13 格式:PPT 页数:35 大小:78KB
返回 下载 相关 举报
可视化编程技术(3)_第1页
第1页 / 共35页
可视化编程技术(3)_第2页
第2页 / 共35页
可视化编程技术(3)_第3页
第3页 / 共35页
可视化编程技术(3)_第4页
第4页 / 共35页
可视化编程技术(3)_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《可视化编程技术(3)》由会员分享,可在线阅读,更多相关《可视化编程技术(3)(35页珍藏版)》请在金锄头文库上搜索。

1、C+基础C+面向对象程序设计基础整理ppt3.1.2 面向对象程序设计方法及特征面向对象程序设计方法及特征n n什么是对象:什么是对象:什么是对象:什么是对象:n n现实世界是由各种各样的事物组成,包括真实的事物和抽现实世界是由各种各样的事物组成,包括真实的事物和抽象的事物。例如,人、动物、汽车象的事物。例如,人、动物、汽车(真实的事物真实的事物)和程序、和程序、直线直线(抽象的事物抽象的事物)等。等。n n每一类事物都有自己特定的属性每一类事物都有自己特定的属性(如大小、形状、重量等如大小、形状、重量等)和行为和行为(如生长、行走、转弯、运算等如生长、行走、转弯、运算等),人们通过研究事,人

2、们通过研究事物的属性和行为而认识事物。物的属性和行为而认识事物。n n在计算机科学中将这些现实世界中的事物称之为在计算机科学中将这些现实世界中的事物称之为对象对象对象对象。对。对象是包含现实世界中事物特征的抽象实体,它反映了系统象是包含现实世界中事物特征的抽象实体,它反映了系统为之保存信息和与之交互的方法。为之保存信息和与之交互的方法。n n在程序设计领域,可以用如下公式表示:在程序设计领域,可以用如下公式表示:n n 对象对象=数据数据+作用于这些数据上的操作作用于这些数据上的操作整理ppt什么是类:什么是类:n n为了描述属性和行为相同的一类对象,引入了类(class)的概念。n n类是具

3、有相同数据结构(属性)和相同操作功能(行为)的对象的集合,它规定了这些对象的公共属性和行为方法。n n对象是类的一个实例,例如,汽车是一个类,而行驶在公路上的一辆汽车则是一个对象。n n对象和类的关系相当于程序设计语言中变量和变量类型的关系。整理ppt一个简单例子:一个简单例子:class Time class Time private:private:int hour;int hour;/数据成员,表示小时数据成员,表示小时 int minute;int minute;/数据成员,表示分钟数据成员,表示分钟 int second;int second;/数据成员,表示秒数据成员,表示秒pub

4、lic:public:void setTime(int h,int m,int s)/void setTime(int h,int m,int s)/成员函数,设置时间成员函数,设置时间 hour=(h=0&h=0&h=0&m=0&m=0&s=0&s60)?s:0;void showTime()void showTime()/成员函数,输出时间成员函数,输出时间 couthour:minute:secondendl;couthour:minute:secondendl;整理pptmain()main()Time EndTime;Time EndTime;/声明对象声明对象EndTimeEndT

5、ime /设置对象设置对象EndTimeEndTime的时间的时间(属性,数据成员属性,数据成员)EndTime.setTime(12,23,36);EndTime.setTime(12,23,36);coutThe time is:;coutThe time is:;/显示对象显示对象EndTimeEndTime的时间的时间 EndTime.showTime();EndTime.showTime();运行结果:运行结果:运行结果:运行结果:The time isThe time is:12:23:3612:23:36整理ppt面向对象程序设计方法的基本特征面向对象程序设计方法的基本特征面向对

6、象程序设计方法具有四个基本特征:面向对象程序设计方法具有四个基本特征:n n抽象抽象n n封装封装n n继承继承n n多态性多态性1.1.抽象抽象抽象抽象 抽象是人类认识问题的最基本手段之一。抽抽象是人类认识问题的最基本手段之一。抽象是指对具体问题象是指对具体问题(对象对象)进行概括,抽出一进行概括,抽出一类类类类对对象的公共属性和行为并加以描述的过程。抽象包象的公共属性和行为并加以描述的过程。抽象包括数据抽象和代码抽象括数据抽象和代码抽象(或行为抽象或行为抽象)。整理ppt2.2.封装封装封装封装 封装是把每个对象的数据封装是把每个对象的数据(属性属性)和操作和操作(行为行为)包装在一个类中

7、。一旦定义了对象的属性和行为,包装在一个类中。一旦定义了对象的属性和行为,则必须决定哪些属性和行为只用于表示内部状态,则必须决定哪些属性和行为只用于表示内部状态,哪些属性和行为在外部是可见的。哪些属性和行为在外部是可见的。一般限制直接访问对象的属性,而应通过操作一般限制直接访问对象的属性,而应通过操作接口访问,这样使程序中模块之间关系更简单、接口访问,这样使程序中模块之间关系更简单、数据更安全。对程序的修改也仅限于类的内部,数据更安全。对程序的修改也仅限于类的内部,使得由于修改程序所带来的影响局部化。使得由于修改程序所带来的影响局部化。整理pptn n3.3.继承继承继承继承n n 继承是指一

8、个新类可以从现有的类派生而来。继承是指一个新类可以从现有的类派生而来。新类继承了现有类的特性,包括一些属性和行为,新类继承了现有类的特性,包括一些属性和行为,并且可以修改或增加新的属性和行为,使之适合并且可以修改或增加新的属性和行为,使之适合具体的需要。具体的需要。n n 例如,所有的例如,所有的WindowsWindows应用程序都有一个窗应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的,口,它们可以看作都是从一个窗口类派生出来的,但有的应用程序用于文字处理,有的应用程序用但有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的类,它们增加于绘图,这是由于派生出了

9、不同的类,它们增加了不同的属性和行为。了不同的属性和行为。n n 继承很好地解决了软件的可重用性问题。继承很好地解决了软件的可重用性问题。整理pptn n4.4.多态性多态性多态性多态性n n 多态性是指类中具有相似功能的不同函数使多态性是指类中具有相似功能的不同函数使用同一个名称来实现,并允许不同类的对象对同用同一个名称来实现,并允许不同类的对象对同一消息作出的响应不相同。一消息作出的响应不相同。n n 例如,同样的例如,同样的“编辑编辑|粘贴粘贴”操作,在字处理程操作,在字处理程序和绘图程序中有不同的结果;同样的加法,把序和绘图程序中有不同的结果;同样的加法,把两个时间值相加和把两个整数相

10、加的要求肯定不两个时间值相加和把两个整数相加的要求肯定不同。同。n n 多态性使程序设计灵活、抽象,具有行为共多态性使程序设计灵活、抽象,具有行为共享和代码共享的优点,很好地解决了程序的函数享和代码共享的优点,很好地解决了程序的函数同名问题。同名问题。整理ppt3.2 C+类类n n为了支持面向对象程序设计,为了支持面向对象程序设计,C+C+在在C C语言结构语言结构(structstruct)数据类型的基础上引入了)数据类型的基础上引入了类类类类这种抽象数这种抽象数据类型。据类型。n nC+C+面向对象编程实质上就是面向面向对象编程实质上就是面向类类类类编程,只有编程,只有定义和实现了类,才

11、能声明属于这个类的对象,定义和实现了类,才能声明属于这个类的对象,才能通过对象使用定义的成员。才能通过对象使用定义的成员。n n传统传统C C程序员把编程重点放在函数的编写上,而程序员把编程重点放在函数的编写上,而C+C+程序员把重点放在程序员把重点放在类类类类的定义和实现上。的定义和实现上。整理ppt3.2.1 类的定义与实现类的定义与实现n nC+类将对象的属性抽象为数据成员,将对象的行为抽象为成员函数,并对它们进行封装。数据成员又称成员变量,成员函数又称为方法。n nC+类在形式上类似于C语言中用户自定义的结构类型,但定义类时规定了成员的访问控制权限。对象只能访问所属类的公有成员,而类的

12、私有成员只能在类的成员函数中被访问。整理pptC+类定义的基本形式:类定义的基本形式:class class privateprivate:;publicpublic:;protectedprotected:;整理ppt说明:说明:n n类的定义由关键字class开始,其后为用户定义的类名,花括号括起来的部分称为类体。n n关键字private、public和protected称为访问权限控制符,用来设置数据成员和成员函数的访问属性,其默认值为private。n nprivate属性表示数据成员和成员函数是类的私有成员,它们只允许被本类的成员函数访问或调用,数据成员一般定义为private属性

13、;整理pptn npublic属性表示数据成员和成员函数是类的公有成员,它们允许被本类或其它类的成员函数(通过对象)访问或调用,是类的外部接口,成员函数一般定义为public属性;n nprotected属性表示数据成员和成员函数是类的保护成员,它们允许被本类的成员函数和派生类的成员函数访问或调用。整理ppt例例 定义类Time(表示时间)。class Timeclass Timeprivate:private:/最好不要省略最好不要省略privateprivate int hour;int hour;/数据成员,表示小时数据成员,表示小时 int minute;int minute;/数据成

14、员,表示分钟数据成员,表示分钟 int second;int second;/数据成员,表示秒数据成员,表示秒public:public:void setTime(int,int,int);/void setTime(int,int,int);/成员函数,设置时成员函数,设置时间间 void showTime();void showTime();/成员函数,输出时间成员函数,输出时间;整理ppt类的实现:类的实现:n n利用C+类进行面向对象编程,定义类的成员只是完成了工作的第一步,最重要的工作是实现定义的类。n n类的实现实质上是类的成员函数的实现,即定义类的成员函数。n n成员函数的定义形

15、式与一般函数的定义形式基本相同,但必须在成员函数名前加上类名和作用域限定符(:)。n n成员函数的定义也可放在类体内(该函数声明之处),这时成员函数将变成内联函数。整理ppt例例 类Time的实现。void Time:setTime(int h,int m,int s)void Time:setTime(int h,int m,int s)hour=(h=0&h=0&h=0&m=0&m=0&s=0&s60)?s:0;void Time:showTime()void Time:showTime()couthour:minute:secondendl;couthour:minute:second”

16、“-”访问对象的公有成员,但不能访问对访问对象的公有成员,但不能访问对象的私有成员。象的私有成员。n n 例如,公有成员函数调用:例如,公有成员函数调用:t1.setTime()t1.setTime();start.showTime()start.showTime();pt1-setTime()pt1-setTime();n n 而任何形如而任何形如t1.hourt1.hour、t1.minutet1.minute、start.secondstart.second等私有成员变量的直接访问都是非法的。等私有成员变量的直接访问都是非法的。整理ppt例:类成员的访问属性n nTime endtime;endtime.hour=3;/非法 h=endtime.hour;/非法 正确的访问方法:endtime.setTime(3,);endtime.showTime();整理pptn n例例例例 类类TimeTime的使用,声明对象并设置对象属性。的使用,声明对象并设置对象属性。main()main()Time EndTime;Time EndTime;/声明对象声明对象EndTimeEndTi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号