资源描述:
《计算机程序设计基础-c简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1C++语言简介清华大学郑莉2本讲内容类与对象继承与派生多态性C++标准模板库3回顾:面向过程的设计方法重点:重点是实现的细节和过程,将数据与函数分开。形式:主模块+若干个子模块(main()+子函数)。特点:自顶向下,逐步求精——功能分解。缺点:效率低,程序的可重用性差。面向对象的思想4面向对象的方法目的:实现软件设计的产业化。观点:自然界是由实体(对象)所组成。程序设计方法:使用面向对象的观点来描述、模仿并处理现实问题。要求:高度概括、分类、和抽象。面向对象的思想5抽象抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。先注意问题的本质及描述,其次是实现过
2、程或细节。数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。代码抽象:描述某类对象的共有的行为特征或具有的功能。抽象的实现:通过类的声明。OOP的基本特点6抽象实例——钟表数据抽象:intHour,intMinute,intSecond代码抽象:SetTime(),ShowTime()OOP的基本特点7抽象实例——钟表类classClock{public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;};OOP的基本特点8抽象实例——人数据抽象:char
3、*name,char*gender,intage,intid代码抽象:生物属性角度:GetCloth(),Eat(),Step(),…社会属性角度:Work(),Promote(),…OOP的基本特点9封装将抽象出的数据成员、代码成员相结合,将它们视为一个整体。目的是曾强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。实现封装:类声明中的{}OOP的基本特点10封装实例:classClock{public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:
4、intHour,Minute,Second;};边界特定的访问权限OOP的基本特点外部接口11继承与派生是C++中支持层次分类的一种机制,允许程序员在保持原有类特性的基础上,进行更具体的说明。实现:声明派生类OOP的基本特点12多态性多态:同一名称,不同的功能实现方式。目的:达到行为标识统一,减少程序中标识符的个数。实现:重载函数和虚函数OOP的基本特点13c++中的类类是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。利用类可以实现数据的封装、隐藏、继承与派生。利用类易于编写大型复杂程序,其模块化程度比C中采用函数更
5、高。类和对象14类的声明形式类是一种用户自定义类型,其声明形式:class类名称{public:公有成员(外部接口)private:私有成员protected:保护型成员}类和对象15公有类型成员是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。以关键字public修饰。类和对象16私有类型成员只允许本类中的函数访问,而类外部的任何函数都不能访问。以关键字private修饰。如果紧跟在类名称的后面声明私有成员,则关键字private可以省略。类和对象17保护类型与private类似,其差别表现在继承与派生时对派生类的影响不同。以关键字protected修饰。类和对象18类的
6、成员classClock{public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;};类和对象数据成员函数成员voidClock::SetTime(intNewH,intNewM,intNewS){Hour=NewH;Minute=NewM;Second=NewS;}voidClock::ShowTime(){cout<7、象21函数成员在类中说明原型,可以在类外给出函数体实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。允许声明重载函数和带默认形参值的函数。类和对象22对象类的对象是该类的某一特定实体,即类类型的变量。声明形式:类名对象名;例:ClockmyClock;类和对象23类中成员的访问方式类中成员互访直接使用成员名从类外访问使用“对象名.成员名”方式访问public属性的成员类和对象24类的应用举例#include