第2类和对象_图文

作业参考程序 #include <iostream.h> class Cheng { int x,y; float a,b; public: void Input(int f) { cin>>x>>y;} void Input(float f) {cin>>a>>b;} void Chengji(int f) { cout<<x*y<<endl;} void Chengji(float f) { cout<<a*b<<endl;} }; void main() {Cheng ch; ch.Input(2); ch.Input(2.0f); ch.Chengji(1); ch.Chengji(1.0f); } C++程序设计 第2讲 类和对象 第2讲 类和对象 1. 类的声明和对象的定义 2. 类的成员函数 3. 对象成员的引用 4. 类的封装性和信息隐蔽 5. 类和对象的简单应用举例 1.类的声明和对象的定义 ? 对象 ? 指客观世界中任一实际存在的事物,它既可以是有形的 (比如一辆汽车、一台电脑、一个班级等),也可以是 无形的(比如一项计划、一个发明等)。 ? 每个对象都具有属性和行为两个要素。 ? 属性:描述了对象的静态特征 ? 行为:描述了对象的动态特征(如功能、操作等) 例如,对于一个数构成的对象, 例如,对于班级对象, 例如,对于摄像机对象, ? 属性:值 ? 属性:所属专业、人数、男女生比例等 ? 属性:生产厂家、型号、重量、颜色等 行为:各种算术运算、输出操作等 ? 行为:录像、放像、停止、快进、快退等功能 行为:上课、下课、开会、选举班干部等活动 1.类的声明和对象的定义 下面介绍在 C++ 中是如何利用面向对象方法编写软件的。 我们结合例子来进行讲解。 例1、根据三角形的三条边长边长,计算并输出面积。 (用OOP法) ⑴ 该系统包含一个三角形对象 ⑵ 设计该三角形对象 ⑶ 调用对象中的函数就是向该对象传送一个消息,要求该对 象实施某一行为(功能)。 1.类的声明和对象的定义 ? 流程: (1)定义一个三角形类,以描述各种三角形对象 (2)定义一个具体的三角形对象 (3)产生消息--输出边长 (4)产生消息--计算面积 面向对象的程序设计方法 #include <iostream.h> //接左边 #include <math.h> int main() class Triangle //定义三角形类 { Triangle triobj(3,4,5); { public: triobj.Printabc(); Triangle(float x,float y,float z) cout<<triobj.Area(); { a=x; b=y; c=z;} return 0; float Area() //成员函数 }; { float s=(a+b+c)/2; 定义一个三角形 return sqrt(s*(s-a)*(s-b)*(s-c)); 对象,其边长为 } 3 、4 、5 void Printabc() //成员函数 { cout<<a<<<<b<<<<c<<endl; } 产生输出边长的 消息 private: float a,b,c; //数据成员 产生计算面积的 }; 消息 面向对象方法的四个特征 ? ? ? ? 抽象性 封装性 继承性 多态性 特征之一—抽象性 所谓抽象是将相关事物的共性进行归纳、集中的过程。利 用抽象可把具有共同性质的事物划分为一类,并得出一个抽象 的概念。 例如,把用汽油发动机驱动的车抽象为“汽车”,于是有 把所有不带小数的数抽象为“整数”,于是有了整数的概 把所有国籍为中国的人抽象为“中国人”,于是有了中国 了汽车的概念,它代表了车的一种类型; 念,它代表了数的一种类型即整数类型。实际上, C++ 中每种 人的概念,它代表了人的一种类型; 数据类型都是对一批具体的数的抽象。 由此不难想到,若把具有共同性质的对象进行抽象,也会 得到新的数据类型,在C++中这种类型统称为类(class)。因此 类是对象的抽象,对象是类的实例。 例如,一个三角形可作为一个对象,10个不同尺寸的三角 形是 10 个对象。如果这 10 个三角形对象有相同的属性和行为 (只是边长不同),可以由它们抽象出三角形类。于是,这10 个三角形就是属于同一类的对象。 特征之一—抽象性 由于对象具有属性和行为两要素,因此,把对象进行抽象 要做两方面的工作: ?数据抽象:给出对象共有的属性或状态 ?代码抽象:给出对象共有的功能或行为特征 抽象的结果体现在相应的类定义中。 特征之二—封装性 面向对象的封装有两层含义: ⑴ 将对象的数据及对数据的操作方法封装在一起,作为一个 相互依存、不可分离的整体。 这样一来,各个对象之间相对独立,互不干扰,便于实现 模块化。 ⑵ 尽可能隐蔽对象的内部细节,对外形成一个边界(或者说 一道屏障),只保留有限的对外接口来接收外部消息。 这样一来,降低了操作对象的难度,增强信息的安全性。 特征之二—封装性 如何实现封装呢?可借助C++中的类定义来实现。 class Clock 特定的边界 { private: int Hour,Minute,Second; public: void SetTime(…); void ShowTime(); }; 特定的边界 外部接口 内部信息 2. 声明类类型 下面来学习如何声明类。类也是用户自定义的数据类型,其声 明格式如下: class为声明类的关键字 class Clock class 类名 类头 { { 成员函数 访问权限修饰符 public: 用来声明成员的 public: void SetTime(int h,int m,int s) 访问属性 { Hour=h; Min=m; Sec=s; 公有成员 } private: 类体 void ShowTime()

相关文档

第二类和对象概要
高考语文成语十大分类第二类对象误用
湖南教师招聘:易错成语第二类对象误用
2016湖南教师招聘:易错成语第二类对象误用
教师招聘考试语文学科易错成语第二类:对象误用
2016年辽宁省教师招聘考试易错成语第二类:对象误用
浙江教师招聘考试语文学科易错成语第二类:对象误用
2014天津教师招聘考试语文学科易错成语第二类:对象误用
2014年常德教师招聘考试语文学科易错成语第二类:对象误用
黑龙江教师招聘-黑龙江教师招聘考试语文学科易错成语第二类:对象误用
电脑版