当前位置:首页 >> 数学 >>

第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()

相关文章:
02 类和对象_图文.ppt
02 类和对象 - 第2类和对象 上次课内容回顾 ? 1、面向对象的一般思想
第3类与对象-_图文.ppt
第3类与对象- - 第3章 类与对象 大纲 ? 本章主要介绍类与对象 ? 类(c
类和对象_图文.ppt
类和对象 - 目 录 ? ? ? ? ?第一部分 面向过程的程序设计 ? ? ? ? ? 第 1章 第 2章 第 3章 第 4章 第 5章 第 6章 第 7章 第 8章 第 ...
第章类与对象_图文.ppt
第章类与对象 - 第4章 类与对象 计算机科学学院 Contents ? ? ?
第10章 类和对象_图文.ppt
第10章 类和对象 - C/C++语言程序设计 第十章 类和对象 龚尚福,贾澎涛主编 《C/C++语言程序设计》 西安电子科技大学出版社 第十章 类和对象 10.1 类与...
第十一章-类和对象_图文.pdf
第十一章-类和对象 - 第十一章 类和对象 1/40 回顾与作业点评 提问 ?
对象和类_图文.ppt
对象和类 - 参考《Java面向对象编程》的第6、7、8和12章 第4课 对象和类 ? ? ? ? ? ? ? ? ? ? 构造方法 重载方法 覆盖方法 访问控制 static 变 ...
第五章 类与对象_图文.ppt
第五章 类与对象 - 本章主要内容 ? 面向对象的思想 ? 析构函数 ? ? ?
JAVA:类和对象_图文.ppt
一组对象的集合” 类和对象的区别类和对象类定义实体 类是概念模型, 类是概念...小结2 小结 Java 是面向对象的语言 所有Java程序都以类 程序都以类class为组织...
第4章对象和类2_图文.ppt
第4章对象和类2 - 第4章 对象和类(2) 1 3 构造函数(constructor) 2 ? 一般情况下,类中的私有数 据成员不允许初始化其值。 需要在创建对象时正式对数 据...
类图和对象图._图文.ppt
? 在大多数的 UML 模型中,我们可以将这些概念的类型 概括为以下四种,分别是: (1) 类 (2) 接口 (3) 数据类型 (4) 构件 类图和对象图的概念 ? ? 在...
第9章 类和对象_图文.ppt
第9章 类和对象 - Visual C++程序设计 第9章 类和对象 江苏科技大学计算机科学与工程学院 第9章 类和对象 9.1 概述 9.2 类 9.3 对象 9.4 成员函数 9...
四章类和对象常用类_图文.ppt
四章类和对象常用类 - 第四章 类和对象-2 常用类和接口 班级 软件技术专业
第7章 类与对象._图文.ppt
第7章 类与对象. - 第7章 类与对象 7.1 类、对象及数据封装 7.2 构造函数、析构函数、成员函数、静 态成员与友元 ? 教学目标: 第7章 类与对象 1 ...
4类和对象解析_图文.ppt
4类和对象解析 - 中关村国际软件人才教育联盟 第三讲 类和对象 中关村国际软件
第3章Java的类和对象_图文.ppt
第3章Java的类和对象 - 第3章 Java的类和对象 ?3.1 ?3.2 ?
第03学时 类与对象2类的实例化_图文.ppt
第03学时 类与对象2类的实例化 - 类的实例化-对象 ? 类的实例化即定义类的
第九章怎样使用类和对象_图文.ppt
定义对象的一般格式为 类名 对象名(实参1, 实参2, …); 9 9.1.3 带参数的构造函数例9.2 汽车和桌子的长、宽、高分别为: (1)1,3,8; (2)1,6,8。 ...
第8章 类和对象的特性_图文.ppt
第8章 类和对象的特性 8.1 面向对象程序设计方法概述 8.2 类的声明和对象
对象和类_图文.ppt
对象和类 - Java程序设计 第7章 对象和类 学习目标 ? ? ? ? ? ? ? ? ? ? 理解对象和类以及它们之间的关系 掌握如何定义类并创建类的对象 了解类和对象...