2022年第一章面向对象的程序设计方法 .pdf

上传人:Q****o 文档编号:25089012 上传时间:2022-07-09 格式:PDF 页数:7 大小:56.25KB
返回 下载 相关 举报
2022年第一章面向对象的程序设计方法 .pdf_第1页
第1页 / 共7页
2022年第一章面向对象的程序设计方法 .pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2022年第一章面向对象的程序设计方法 .pdf》由会员分享,可在线阅读,更多相关《2022年第一章面向对象的程序设计方法 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 / 7 第一章 面向对象的程序设计方法面向对象程序开发主要内容包括:1面向对象的基本理论。2面向对象的分析方法。3面向对象的开发发语言。4面向对象的程序设计方法。5面向对象的数据库管理方法。11 设计的重要特征111 类及其定义对象是客观事务的一种软件描述。而类是对象的一种抽象,类中包含了对象的属性特征。如图1-1 所示。类的定义包括:1定义对象属性。2定义属性操作。如整数类 int ,字符类 char 等等。如通过定义: char a ,即产生了字符类的一个对象“a”。开发人员通过自定义 类来描述 特定的 对象。例 如可为矩形定义如 下名为“Rect”的类:Class Rect /属性:

2、 float length。 float width。 /操作 float perimeter(float length,float width)。 float area (float length,float width)。类(包含对象属性和操作)对象 反映 抽象图3-1 类与对象的关系精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 7 页2 / 7 float Rect:perimater(float length,float width)/:表示类属关系 return(2*(length+width)。 float Rect:ar

3、ea(float length,float width) return(length*width)。 在应用程序中只需定义: Rect rect1。即生成了一个 Rect 类的对象 rect1 。112 封装是隐藏软件模块的内部属性和操作,只通过特定接口与其它模块交互。封装的意义在于:1提供一种全新的软件组织方法,适应面向对象程序设计的要求。2通过隐藏数据保护与管理数据。3增强程序的可复用性,减少重复劳动。113 继承它反映了客观事务之间内在的联系,在面向对象程序设计中具体体现为具有共同特征的类之间的继承性。若类 A 与类 B 具有继承性,类A 是类 B的子类,则类 A的定义定义包含类B的所有

4、属性和操作。例如平行四边形类Para 定义如下:class para /属性 float a。 float b。 /操作 其子类 Rect 的定义如下: class Rect:para /“:”表示类 Rect 是类 para 的子类 /属性: /操作: float perimeter(float a,float b)。 float area(float a,float b)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 7 页3 / 7 float Rect:perimeter(float a,float b) return(2*(

5、a+b)。 float Rect:area(float a,float b) return(a*b)。 图 1-2 所示为一个四边形类族继承关系示意。继承对于面向对象程序设计的重要意义在于:1正确反映对象本质。2增强应用程序的可复用性。3实现类接口的一致性。114 多态性多态性有重载和类属两种表现形式。1重载是指相同的符号形式可代表不同的功能。运算符的重载是最为常见的重载形式。下面的代码段实现了运算符“+”对于字符串重载:char * operator+(char *str1,char *str2)。/ 重载函数据声明char * operator+(char *str1,char *str2

6、) 四边形类平行四边形类梯形类一般四边形类矩形类正方形类等边梯形类直角梯形类表示派生关系图3-2 四边形类族继承关系示意图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 7 页4 / 7 return(strcpy(str1,str2)。 还支持函数名重载。例如定义如下两个比较函数: int compare(int a,int b)。 float compare(float a,float b)。若在应用程序的执行体中引用上述函数:int c=compare(2,3)。float c1=compare(2.3,3.5)。则编译系统可根据

7、参数的不同匹配相应函数体完成处理。2类属在定义通用类模块的基础上,通过参数标识类的实际应用。定义形式如下:class query T type。 /队列属性和操作的定义 在应用程序中通过下面的形式即可定义整数队列query_int和浮点数队列query_float: query(int) query_int。query(float) query_float。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 7 页5 / 7 32 VC 121 构造函数和析构函数1构造函数完成对象的初始工作。定义特点为:(1) 函数名必须与类名相同。(2)

8、 无返回值。例如:class Rect public : /构造函数 Rect(int,int)。 /析构函数 Rect()。 private: /属性: float length。 float width。 private : /操作 float perimeter(float length,float width)。 float area (float length,float width)。 Rect:Rect(int a,int b) length=a。 width=b。 float Rect:perimater(float length,float width)/:表示类属关系 re

9、turn(2*(length+width)。 float Rect:area(float length,float width) return(length*width)。 在应用程序中通过定义:Rect rect1(100,50)。即构造了长、宽分别为100 和 50 的矩形对象 rect1 。2析构函数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 7 页6 / 7 完成对象的释放。定义的特点为:(1)函数名为类名前加“ ”。(2)无返回值。122 类成员的外部属性1Public 类型2Protected类型3Private类型12

10、3 类的友员友员的声明形式如下:friend 友员类型友员名;例如为类 Rect 定义友员函数 GetLength 和 GetWidth 的形式如下:class Rect Public : friend float GetLength(const Rect &)。 friend float GetWidth(const Rect &)。 private: float GetLength(const Rect &rect1) return(rect1.Length)。 float GetWidth(const Rect &rect1) rfeturn(rect1.Width)。 124 虚函数是

11、类成员函数的多态性在继承中的体现。虚函数的声明形式如下:virtual 函数类型函数名;例如:class Rect 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 7 页7 / 7 public : private: /属性: float length。 float width。 private : /操作 virtual float perimeter(float length,float width)。 virtual float area (float length,float width)。 float Rect:perimat

12、er(float length,float width)/:表示类属关系 return(2*(length+width)。 float Rect:area(float length,float width) return(length*width)。 则可如下定义矩形类Rect 的派生类正方形 Squ: Calss Squ:Rect Private : flaot side。 float perimeter(float side)。 float perimeter(float side)。 return(4*side)。 float Squ:Area(float side) return(side*side)。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 7 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁