- 16
- 1
- 约6.04千字
- 约 27页
- 2018-04-28 发布于天津
- 举报
成员函数周长和面积的计算类中的方法可以在类外定义
本讲主要内容: 面向对象的基本思想 类和对象概念及举例 属性和方法 类成员的访问控制 构造函数和析构函数 封装、继承、多态 面向对象技术的由来 面向过程的设计方法(结构化程序设计方法)的不足: 功能和数据分离,不符合人们对事物的认识,难以保证数据和功能的相容性. 基于模块的设计方法,使软件修改困难 自顶向下的设计方法,限制了软件的可重用性,降低了开发效率,维护困难. 面向对象设计方法 把数据和对数据的操作作为一个相互依赖不可分割的整体,符合人们的思维习惯. 采用数据抽象和信息隐蔽技术,使问题简单化. 有助于控制软件的复杂性,提高软件的生产效率. 其他程序设计方法 面向过程的设计方法:在科学计算中仍有其优势. 面向逻辑的设计方法:人工智能 面向规则的设计方法:专家系统 类 类是对象的符号表示形式。类描述组成对象的属性、方法和事件等。 类通常同时包含定义和实现,但它也可以包含没有实现的一个或多个成员。 类的概念类似于面向过程程序开发中的数据类型(结构)概念。 C++类声明 class Rectangle { private: int a,b; public: int Square() { return a*b; } int Girth() { return 2*(a+b); } void Assign(int x,int y) { a=x; b=y; } }; 类Rectangle包含了长方形的静态特征长和宽,类似结构,还可以包含更多的属性,类型可各不相同。 类Rectangle也包含了长方形的行为特征(成员函数),周长和面积的计算。 类中的方法可以在类外定义,如: 对象object 类描述对象的“结构”,而对象则是类的可用“实例”。每个实例都是其类的一个精确而又不同的副本。所以创建对象的动作就称为“实例化”。 一个类也可以用于根据需要创建多个对象。类也可以通过封装来控制用户对对象项的访问。 对象的概念类似面向过程程序设计中的变量概念。 举例:对上例中定义的类的应用 void main() { Rectangle aRectangle; //声明了一个名为aRectangle对象 aRectangle.Assign(2,2); //为该对象的私有成员a,b赋值,即 //aRectangle.a=2;aRectangle.b=2 coutaRectangle.Square()endl; //调用该对象Square方法,输出该对象 //的面积 } 类是一个抽象概念,而对象是具体的实例。类就如同人的抽象概念,人都具有共同的外部特征和行为特征,就象类的属性和方法,而对一个具体的人,就是一个人的实例,他自然具有人都具有共同的外部特征和行为特征。 private和public成员 class Rectangle { public: int a,b; int Square() { return a*b; } int Girth() { return 2*(a+b); } }; 下面是使用指向对象的指针创建并使用对象: void main() { Rectangle *r; r=new Rectangle(); r-a=2; r-b=2; coutr-Square(); } 对指针,必须先创建对象,后使用该对象。 对指针指向对象成员的访问类似结构指针,用符号-。 建立一个三角型类(TriAngle): 字段:三条边长 方法: 计算面积Area 计算周长Girth 计算三个内角InteralAngle 判断三角型类型(是等腰BothSame,是等边AllSame还是直角RightTriAngle三角形 是钝角obtuse三角形还是锐角sharp三角形。 面向对象的特征之一:封装 “封装”是包含和控制访问一组关联项的能力。类提供一个最通用的方式来封装项。封装使您可以将 类中的数据和过程作为一个单元来使用。您可以同时处理多个对象而不会混淆,因为每个对象都由该类的一个唯一实例来表示。 封装还使您可以控制如何使用数据和过程。可以使用访问修饰符(如 Private 或 Protected)来防止外部过程执行类方法或读取与修改属性和字段中的数据。 面向对象的特征之一:封装 应当将类的内部详细信息声明为 Private 以防止在类外使用它们,此技术称为“数据隐藏”。 隐藏类的实现详细信息可以防止这些信息被以不希望的方式使用。 例:关于封装 上例中可以在Rectangle中定义 public int a,b;则在Main中可以用R.a和R.b访,无法通过类内部机制对a,b的合法性控制。
您可能关注的文档
- vba在多excel工作薄数据汇总的应用-陕西铁路工程职业技术学院.pdf
- v型刚构组合系杆拱桥施工监测技术俞文生习明星.doc
- voronoi邻近关系支持下的点模式趋同提取方法.pdf
- windowsxp最低硬体需求-淡江大学资讯中心教学支援组.ppt
- y2o3掺杂对la2zr2o7陶瓷材料结构与热物理性能的影响.pdf
- ybj新阵列电源慢控制数据检查-indico.ppt
- zhiwudekekexuemingming现代农艺技术专业植物.ppt
- z上岸下岸uvw幂函数所构成的映射特点.ppt
- x-cbs企业级ceph构造openstack块存储解决方案.pdf
- 艾瑞卡定制家具钛马迪圣华实木家具-名博士白蜡木家具.doc
最近下载
- 2025至2030中国匹克球市场前景预判与未来发展形势分析报告.docx VIP
- 2026-2030中国匹克球市场前景预判与未来发展形势分析研究报告.docx
- 2025至2030中国匹克球市场前景预判与未来发展形势分析报告.docx VIP
- 4-1输变电工程施工质量验收统一表式(电缆工程电气专业)-2024年版.docx
- 2025至2030中国匹克球市场前景预判与未来发展形势分析报告.docx VIP
- 小型剪板机机械结构设计.doc VIP
- 轴对称和轴对称图形.ppt VIP
- 2025年上海市各区高三语文一模试题汇编《现代文二阅读》含答案.pdf VIP
- 2026年上海市各区高三语文一模试题汇编之现代文二(教师版).docx
- 2026贵州铝业集团双元新材料有限责任公司招聘6人备考题库及答案详解(历年真题).docx VIP
原创力文档

文档评论(0)