欢迎来到天天文库
浏览记录
ID:58715158
大小:557.00 KB
页数:48页
时间:2020-10-04
《第10章 类与对象ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、类与对象程序设计基础程序设计基础世界的万事万物都是由对象构成的!有形的东西无形的东西基本概念程序设计基础对象的两个方面:静态特征;动态行为;例如:张三今年28岁、男、176cm称为对象的<属性attribute>。例如:张三可以吃饭、骑车、跳舞等。称为对象的<操作operate>。程序设计基础对象的分类(类的概念):把所有具有相同特征和行为的对象全部归为某个类。例如:张三归为“人”类。地球归为“行星”类。某个时刻归为“时间”类。四大基本特征面向对象的特征——抽象特征:可以把对象分门别类,即通过类概括属于该类的
2、一切对象。程序设计基础面向对象的特征——封装特征:对象将自己的细节隐蔽起来,只向其他对象提供接口。程序设计基础面向对象的特征——继承特征:一种类型的东西可以是来自于另外一种类型,即层次性。动物植物生物程序设计基础面向对象的特征——多态特征:发送同一消息,发生了不同的行为。程序设计基础比如:下课铃声响了定义类:对具有共同特性所有对象的抽象。狗重量体长叫跑属性:反映对象静态特征。操作:反映对象动态行为。程序设计基础类:在C++中是如何用代码来定义的呢?狗重量体长叫跑属性:反映对象静态特征。操作:反映对象动态行为。
3、成员变量:intm_weight;intm_length;成员函数:voidshout();voidrun();程序设计基础也可用struct,区别在于:如使用class关键字,类成员默认是私有的,如使用struct关键字,类成员默认是公有的。类的说明访问限制数据成员和成员函数类名标识符private:私有成员说明public:公有成员说明protected:保护成员说明{};class程序设计基础classCDog{public:voidRun(){};voidShout(){};private:intm_
4、weight;intm_length;};不能对其进行赋初始值。intm_weight=30;程序设计基础成员函数定义形式:[1](类内声明,类内定义)返回类型成员函数名(形参表){函数体}classCDog{public:voidShout(intm){cout<5、ivate:intm_weight;intm_length;};voidCDog::Shout(intm){cout<成员名;p->m_length;-〉指针操作符p->c1.Shout(intm);//×私有成员//×私有成员访问限制publicprivateprotect6、ed能被类的对象访问也能被类本身的成员函数访问不能被类的对象访问能被类本身的成员函数访问不能被类和对象访问能被类及该类的派生类的成员函数访问classCDog{public:voidRun();voidShout();CDog();virtual~CDog();private:intm_weight;intm_length;};两个特殊的成员函数:函数名与类的名字是一样的这样的函数称为构造函数和析构函数构造函数和析构函数1构造函数给对象一个标识符;给对象开辟一个内存空间;将对象中的数据成员初始化。通过说明语句7、调用构造函数来实现特征:1.与类同名的成员函数2.无返回类型3.可重载4.如无定义,系统会自动生成缺省的构造函数5.构造函数在创建对象时被系统自动调用#includeclassCircle{public:Circle(){x=y=r=5.0;}Circle(doublea,doubleb,doublec){x=a;y=b;r=c;}private:doublex,y;doubler;};voidmain(){Circlec1;Circlec2(2.1,3.3,6.0);}默认构造函数调8、用时不需要参数的构造函数是默认构造函数,如类Circle的第一个构造函数是默认构造函数所有参数都是默认参数的构造函数是默认构造函数Circle(doublea=5.0,doubleb=5.0,doublec=5.0){x=a;y=b;if(c>0)r=c;elser=5.0;}复制构造函数根据类的某个对象复制出一个内容完全相同的新对象的构造函数叫复制构造函数复制构造函数的参数是该类的对象(传引用的方
5、ivate:intm_weight;intm_length;};voidCDog::Shout(intm){cout<成员名;p->m_length;-〉指针操作符p->c1.Shout(intm);//×私有成员//×私有成员访问限制publicprivateprotect
6、ed能被类的对象访问也能被类本身的成员函数访问不能被类的对象访问能被类本身的成员函数访问不能被类和对象访问能被类及该类的派生类的成员函数访问classCDog{public:voidRun();voidShout();CDog();virtual~CDog();private:intm_weight;intm_length;};两个特殊的成员函数:函数名与类的名字是一样的这样的函数称为构造函数和析构函数构造函数和析构函数1构造函数给对象一个标识符;给对象开辟一个内存空间;将对象中的数据成员初始化。通过说明语句
7、调用构造函数来实现特征:1.与类同名的成员函数2.无返回类型3.可重载4.如无定义,系统会自动生成缺省的构造函数5.构造函数在创建对象时被系统自动调用#includeclassCircle{public:Circle(){x=y=r=5.0;}Circle(doublea,doubleb,doublec){x=a;y=b;r=c;}private:doublex,y;doubler;};voidmain(){Circlec1;Circlec2(2.1,3.3,6.0);}默认构造函数调
8、用时不需要参数的构造函数是默认构造函数,如类Circle的第一个构造函数是默认构造函数所有参数都是默认参数的构造函数是默认构造函数Circle(doublea=5.0,doubleb=5.0,doublec=5.0){x=a;y=b;if(c>0)r=c;elser=5.0;}复制构造函数根据类的某个对象复制出一个内容完全相同的新对象的构造函数叫复制构造函数复制构造函数的参数是该类的对象(传引用的方
此文档下载收益归作者所有