欢迎来到天天文库
浏览记录
ID:44368376
大小:155.00 KB
页数:34页
时间:2019-10-21
《可视化编程技术2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C++基础C++面向对象程序设计基础3.1.2面向对象程序设计方法及特征什么是对象:现实世界是由各种各样的事物组成,包括真实的事物和抽象的事物。例如,人、动物、汽车(真实的事物)和程序、直线(抽象的事物)等。每一类事物都有自己特定的属性(如大小、形状、重量等)和行为(如生长、行走、转弯、运算等),人们通过研究事物的属性和行为而认识事物。在计算机科学中将这些现实世界中的事物称之为对象。对象是包含现实世界中事物特征的抽象实体,它反映了系统为之保存信息和与之交互的方法。在程序设计领域,可以用如下公式表示:对象=数据+作用于这些数据
2、上的操作什么是类:为了描述属性和行为相同的一类对象,引入了类(class)的概念。类是具有相同数据结构(属性)和相同操作功能(行为)的对象的集合,它规定了这些对象的公共属性和行为方法。对象是类的一个实例,例如,汽车是一个类,而行驶在公路上的一辆汽车则是一个对象。对象和类的关系相当于程序设计语言中变量和变量类型的关系。一个简单例子:classTime{private:inthour;//数据成员,表示小时intminute;//数据成员,表示分钟intsecond;//数据成员,表示秒public:voidsetTime(in
3、th,intm,ints)//成员函数,设置时间{hour=(h>=0&&h<24)?h:0;minute=(m>=0&&m<60)?m:0;second=(s>=0&&s<60)?s:0;}voidshowTime()//成员函数,输出时间{cout<4、is:";//显示对象EndTime的时间EndTime.showTime();}运行结果:Thetimeis:12:23:36面向对象程序设计方法的基本特征面向对象程序设计方法具有四个基本特征:抽象封装继承多态性1.抽象抽象是人类认识问题的最基本手段之一。抽象是指对具体问题(对象)进行概括,抽出一类对象的公共属性和行为并加以描述的过程。抽象包括数据抽象和代码抽象(或行为抽象)。2.封装封装是把每个对象的数据(属性)和操作(行为)包装在一个类中。一旦定义了对象的属性和行为,则必须决定哪些属性和行为只用于表示内部状态,哪些属性5、和行为在外部是可见的。一般限制直接访问对象的属性,而应通过操作接口访问,这样使程序中模块之间关系更简单、数据更安全。对程序的修改也仅限于类的内部,使得由于修改程序所带来的影响局部化。3.继承继承是指一个新类可以从现有的类派生而来。新类继承了现有类的特性,包括一些属性和行为,并且可以修改或增加新的属性和行为,使之适合具体的需要。例如,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的,但有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的类,它们增加了不同的属性和行为。继承很好地6、解决了软件的可重用性问题。4.多态性多态性是指类中具有相似功能的不同函数使用同一个名称来实现,并允许不同类的对象对同一消息作出的响应不相同。例如,同样的“编辑7、粘贴”操作,在字处理程序和绘图程序中有不同的结果;同样的加法,把两个时间值相加和把两个整数相加的要求肯定不同。多态性使程序设计灵活、抽象,具有行为共享和代码共享的优点,很好地解决了程序的函数同名问题。3.2C++类为了支持面向对象程序设计,C++在C语言结构(struct)数据类型的基础上引入了类这种抽象数据类型。C++面向对象编程实质上就是面向类编程,只有定义和实现8、了类,才能声明属于这个类的对象,才能通过对象使用定义的成员。传统C程序员把编程重点放在函数的编写上,而C++程序员把重点放在类的定义和实现上。3.2.1类的定义与实现C++类将对象的属性抽象为数据成员,将对象的行为抽象为成员函数,并对它们进行封装。数据成员又称成员变量,成员函数又称为方法。C++类在形式上类似于C语言中用户自定义的结构类型,但定义类时规定了成员的访问控制权限。对象只能访问所属类的公有成员,而类的私有成员只能在类的成员函数中被访问。C++类定义的基本形式:class<类名>{private:<私有数据成员和私有9、成员函数的声明列表>;public:<公有数据成员和公有成员函数的声明列表>;protected:<保护数据成员和保护成员函数的声明列表>;};说明:类的定义由关键字class开始,其后为用户定义的类名,花括号括起来的部分称为类体。关键字private、public和protected称为
4、is:";//显示对象EndTime的时间EndTime.showTime();}运行结果:Thetimeis:12:23:36面向对象程序设计方法的基本特征面向对象程序设计方法具有四个基本特征:抽象封装继承多态性1.抽象抽象是人类认识问题的最基本手段之一。抽象是指对具体问题(对象)进行概括,抽出一类对象的公共属性和行为并加以描述的过程。抽象包括数据抽象和代码抽象(或行为抽象)。2.封装封装是把每个对象的数据(属性)和操作(行为)包装在一个类中。一旦定义了对象的属性和行为,则必须决定哪些属性和行为只用于表示内部状态,哪些属性
5、和行为在外部是可见的。一般限制直接访问对象的属性,而应通过操作接口访问,这样使程序中模块之间关系更简单、数据更安全。对程序的修改也仅限于类的内部,使得由于修改程序所带来的影响局部化。3.继承继承是指一个新类可以从现有的类派生而来。新类继承了现有类的特性,包括一些属性和行为,并且可以修改或增加新的属性和行为,使之适合具体的需要。例如,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的,但有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的类,它们增加了不同的属性和行为。继承很好地
6、解决了软件的可重用性问题。4.多态性多态性是指类中具有相似功能的不同函数使用同一个名称来实现,并允许不同类的对象对同一消息作出的响应不相同。例如,同样的“编辑
7、粘贴”操作,在字处理程序和绘图程序中有不同的结果;同样的加法,把两个时间值相加和把两个整数相加的要求肯定不同。多态性使程序设计灵活、抽象,具有行为共享和代码共享的优点,很好地解决了程序的函数同名问题。3.2C++类为了支持面向对象程序设计,C++在C语言结构(struct)数据类型的基础上引入了类这种抽象数据类型。C++面向对象编程实质上就是面向类编程,只有定义和实现
8、了类,才能声明属于这个类的对象,才能通过对象使用定义的成员。传统C程序员把编程重点放在函数的编写上,而C++程序员把重点放在类的定义和实现上。3.2.1类的定义与实现C++类将对象的属性抽象为数据成员,将对象的行为抽象为成员函数,并对它们进行封装。数据成员又称成员变量,成员函数又称为方法。C++类在形式上类似于C语言中用户自定义的结构类型,但定义类时规定了成员的访问控制权限。对象只能访问所属类的公有成员,而类的私有成员只能在类的成员函数中被访问。C++类定义的基本形式:class<类名>{private:<私有数据成员和私有
9、成员函数的声明列表>;public:<公有数据成员和公有成员函数的声明列表>;protected:<保护数据成员和保护成员函数的声明列表>;};说明:类的定义由关键字class开始,其后为用户定义的类名,花括号括起来的部分称为类体。关键字private、public和protected称为
此文档下载收益归作者所有