欢迎来到天天文库
浏览记录
ID:27287771
大小:1.70 MB
页数:74页
时间:2018-12-01
《《类和对象》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、作业参考程序#includeclassCheng{intx,y;floata,b;public:voidInput(intf){cin>>x>>y;}voidInput(floatf){cin>>a>>b;}voidChengji(intf){cout<2、);}C++程序设计第2讲类和对象第2讲类和对象1.类的声明和对象的定义2.类的成员函数3.对象成员的引用4.类的封装性和信息隐蔽5.类和对象的简单应用举例1.类的声明和对象的定义对象指客观世界中任一实际存在的事物,它既可以是有形的(比如一辆汽车、一台电脑、一个班级等),也可以是无形的(比如一项计划、一个发明等)。每个对象都具有属性和行为两个要素。属性:描述了对象的静态特征行为:描述了对象的动态特征(如功能、操作等)例如,对于班级对象,属性:所属专业、人数、男女生比例等行为:上课、下课、开会、选举班干部等活动例如,对于摄像机3、对象,属性:生产厂家、型号、重量、颜色等行为:录像、放像、停止、快进、快退等功能例如,对于一个数构成的对象,属性:值行为:各种算术运算、输出操作等下面介绍在C++中是如何利用面向对象方法编写软件的。我们结合例子来进行讲解。例1、根据三角形的三条边长边长,计算并输出面积。(用OOP法)⑴该系统包含一个三角形对象⑵设计该三角形对象⑶调用对象中的函数就是向该对象传送一个消息,要求该对象实施某一行为(功能)。1.类的声明和对象的定义流程:(1)定义一个三角形类,以描述各种三角形对象(2)定义一个具体的三角形对象(3)产生消息--输出4、边长(4)产生消息--计算面积1.类的声明和对象的定义#include#includeclassTriangle//定义三角形类{public:Triangle(floatx,floaty,floatz){a=x;b=y;c=z;}floatArea()//成员函数{floats=(a+b+c)/2;returnsqrt(s*(s-a)*(s-b)*(s-c));}voidPrintabc()//成员函数{cout<5、ata,b,c;//数据成员};//接左边intmain(){Triangletriobj(3,4,5);triobj.Printabc();cout<6、概念,它代表了车的一种类型;把所有国籍为中国的人抽象为“中国人”,于是有了中国人的概念,它代表了人的一种类型;把所有不带小数的数抽象为“整数”,于是有了整数的概念,它代表了数的一种类型即整数类型。实际上,C++中每种数据类型都是对一批具体的数的抽象。由此不难想到,若把具有共同性质的对象进行抽象,也会得到新的数据类型,在C++中这种类型统称为类(class)。因此类是对象的抽象,对象是类的实例。例如,一个三角形可作为一个对象,10个不同尺寸的三角形是10个对象。如果这10个三角形对象有相同的属性和行为(只是边长不同),可以由它7、们抽象出三角形类。于是,这10个三角形就是属于同一类的对象。特征之一—抽象性由于对象具有属性和行为两要素,因此,把对象进行抽象要做两方面的工作:数据抽象:给出对象共有的属性或状态代码抽象:给出对象共有的功能或行为特征抽象的结果体现在相应的类定义中。特征之二—封装性面向对象的封装有两层含义:⑴将对象的数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体。这样一来,各个对象之间相对独立,互不干扰,便于实现模块化。⑵尽可能隐蔽对象的内部细节,对外形成一个边界(或者说一道屏障),只保留有限的对外接口来接收外部消息。这样8、一来,降低了操作对象的难度,增强信息的安全性。特征之二—封装性如何实现封装呢?可借助C++中的类定义来实现。classClock{private:intHour,Minute,Second;public:voidSetTime(…);voidShowTime();};特定的边界特定的边界外
2、);}C++程序设计第2讲类和对象第2讲类和对象1.类的声明和对象的定义2.类的成员函数3.对象成员的引用4.类的封装性和信息隐蔽5.类和对象的简单应用举例1.类的声明和对象的定义对象指客观世界中任一实际存在的事物,它既可以是有形的(比如一辆汽车、一台电脑、一个班级等),也可以是无形的(比如一项计划、一个发明等)。每个对象都具有属性和行为两个要素。属性:描述了对象的静态特征行为:描述了对象的动态特征(如功能、操作等)例如,对于班级对象,属性:所属专业、人数、男女生比例等行为:上课、下课、开会、选举班干部等活动例如,对于摄像机
3、对象,属性:生产厂家、型号、重量、颜色等行为:录像、放像、停止、快进、快退等功能例如,对于一个数构成的对象,属性:值行为:各种算术运算、输出操作等下面介绍在C++中是如何利用面向对象方法编写软件的。我们结合例子来进行讲解。例1、根据三角形的三条边长边长,计算并输出面积。(用OOP法)⑴该系统包含一个三角形对象⑵设计该三角形对象⑶调用对象中的函数就是向该对象传送一个消息,要求该对象实施某一行为(功能)。1.类的声明和对象的定义流程:(1)定义一个三角形类,以描述各种三角形对象(2)定义一个具体的三角形对象(3)产生消息--输出
4、边长(4)产生消息--计算面积1.类的声明和对象的定义#include#includeclassTriangle//定义三角形类{public:Triangle(floatx,floaty,floatz){a=x;b=y;c=z;}floatArea()//成员函数{floats=(a+b+c)/2;returnsqrt(s*(s-a)*(s-b)*(s-c));}voidPrintabc()//成员函数{cout<5、ata,b,c;//数据成员};//接左边intmain(){Triangletriobj(3,4,5);triobj.Printabc();cout<6、概念,它代表了车的一种类型;把所有国籍为中国的人抽象为“中国人”,于是有了中国人的概念,它代表了人的一种类型;把所有不带小数的数抽象为“整数”,于是有了整数的概念,它代表了数的一种类型即整数类型。实际上,C++中每种数据类型都是对一批具体的数的抽象。由此不难想到,若把具有共同性质的对象进行抽象,也会得到新的数据类型,在C++中这种类型统称为类(class)。因此类是对象的抽象,对象是类的实例。例如,一个三角形可作为一个对象,10个不同尺寸的三角形是10个对象。如果这10个三角形对象有相同的属性和行为(只是边长不同),可以由它7、们抽象出三角形类。于是,这10个三角形就是属于同一类的对象。特征之一—抽象性由于对象具有属性和行为两要素,因此,把对象进行抽象要做两方面的工作:数据抽象:给出对象共有的属性或状态代码抽象:给出对象共有的功能或行为特征抽象的结果体现在相应的类定义中。特征之二—封装性面向对象的封装有两层含义:⑴将对象的数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体。这样一来,各个对象之间相对独立,互不干扰,便于实现模块化。⑵尽可能隐蔽对象的内部细节,对外形成一个边界(或者说一道屏障),只保留有限的对外接口来接收外部消息。这样8、一来,降低了操作对象的难度,增强信息的安全性。特征之二—封装性如何实现封装呢?可借助C++中的类定义来实现。classClock{private:intHour,Minute,Second;public:voidSetTime(…);voidShowTime();};特定的边界特定的边界外
5、ata,b,c;//数据成员};//接左边intmain(){Triangletriobj(3,4,5);triobj.Printabc();cout<6、概念,它代表了车的一种类型;把所有国籍为中国的人抽象为“中国人”,于是有了中国人的概念,它代表了人的一种类型;把所有不带小数的数抽象为“整数”,于是有了整数的概念,它代表了数的一种类型即整数类型。实际上,C++中每种数据类型都是对一批具体的数的抽象。由此不难想到,若把具有共同性质的对象进行抽象,也会得到新的数据类型,在C++中这种类型统称为类(class)。因此类是对象的抽象,对象是类的实例。例如,一个三角形可作为一个对象,10个不同尺寸的三角形是10个对象。如果这10个三角形对象有相同的属性和行为(只是边长不同),可以由它7、们抽象出三角形类。于是,这10个三角形就是属于同一类的对象。特征之一—抽象性由于对象具有属性和行为两要素,因此,把对象进行抽象要做两方面的工作:数据抽象:给出对象共有的属性或状态代码抽象:给出对象共有的功能或行为特征抽象的结果体现在相应的类定义中。特征之二—封装性面向对象的封装有两层含义:⑴将对象的数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体。这样一来,各个对象之间相对独立,互不干扰,便于实现模块化。⑵尽可能隐蔽对象的内部细节,对外形成一个边界(或者说一道屏障),只保留有限的对外接口来接收外部消息。这样8、一来,降低了操作对象的难度,增强信息的安全性。特征之二—封装性如何实现封装呢?可借助C++中的类定义来实现。classClock{private:intHour,Minute,Second;public:voidSetTime(…);voidShowTime();};特定的边界特定的边界外
6、概念,它代表了车的一种类型;把所有国籍为中国的人抽象为“中国人”,于是有了中国人的概念,它代表了人的一种类型;把所有不带小数的数抽象为“整数”,于是有了整数的概念,它代表了数的一种类型即整数类型。实际上,C++中每种数据类型都是对一批具体的数的抽象。由此不难想到,若把具有共同性质的对象进行抽象,也会得到新的数据类型,在C++中这种类型统称为类(class)。因此类是对象的抽象,对象是类的实例。例如,一个三角形可作为一个对象,10个不同尺寸的三角形是10个对象。如果这10个三角形对象有相同的属性和行为(只是边长不同),可以由它
7、们抽象出三角形类。于是,这10个三角形就是属于同一类的对象。特征之一—抽象性由于对象具有属性和行为两要素,因此,把对象进行抽象要做两方面的工作:数据抽象:给出对象共有的属性或状态代码抽象:给出对象共有的功能或行为特征抽象的结果体现在相应的类定义中。特征之二—封装性面向对象的封装有两层含义:⑴将对象的数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体。这样一来,各个对象之间相对独立,互不干扰,便于实现模块化。⑵尽可能隐蔽对象的内部细节,对外形成一个边界(或者说一道屏障),只保留有限的对外接口来接收外部消息。这样
8、一来,降低了操作对象的难度,增强信息的安全性。特征之二—封装性如何实现封装呢?可借助C++中的类定义来实现。classClock{private:intHour,Minute,Second;public:voidSetTime(…);voidShowTime();};特定的边界特定的边界外
此文档下载收益归作者所有