- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要内容: 类和对象 继承与派生 多态性:重载,虚函数,模板 3.1 面向对象程序设计概述 结构化程序设计的特点: 在面向对象的程序设计方法中 数据 + 什么是类: 面向对象程序设计的特点: 面向对象程序设计的特点: 一个对象可由多个更小的对象组成,如汽车由发动机、传送系统和排气系统等组成。这些对象(类)可由不同的程序员来设计,可在不同程序中使用,就象一个汽车制造商使用许多零部件去组装一辆汽车,而这些零部件可能不是自己生产的。 采用面向对象模式就象在流水线上工作,我们最终只需将多个零部件(已设计好的对象)按照一定关系组合成一个完整的系统。 例:时钟类(注:本程序了解即可,后面3.2节还会具体阐述) 1. 抽象(对象的属性和行为) 抽象是人类认识问题的最基本手段之一。抽象是指对具体问题(对象)进行概括,抽出一类对象的公共属性和行为并加以描述的过程。抽象包括数据抽象和代码抽象(或行为抽象)。 数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。 代码抽象:描述某类对象的共有的行为特征或具有的功能。 抽象的实现:通过类的声明。 抽象实例——钟表 数据抽象: int Hour, int Minute, int Second 代码抽象: SetTime( ), ShowTime( ) 封装实例——钟表 class Time{ private: // 最好不要省略private int hour; // 数据成员,表示小时 int minute; // 数据成员,表示分钟 int second; // 数据成员,表示秒 public: void setTime(int, int, int); // 成员函数,设置时间 void showTime(); // 成员函数,输出时间 }; 特定的访问权限: private, public 外部接口:setTime, showTime 3.2 C++类 * * 与传统的面向过程的程序设计语言相比,C++语言的最大特征是支持面向对象程序设计OOP(Object Oriented Programming),它引入了类、继承、多态和重载等面向对象的新机制。通过本章的学习,使我们系统地介绍C++面向对象设计的基本方法。 主要内容: 结构化程序设计 面向对象程序设计 类和对象 面向对象程序设计特点 面向对象程序设计方法的基本特征 抽象、封装、继承、多态性 结构化程序设计的特点: 是一种自上而下、逐步细化的模块化程序设计方法。 Wirth N的观点:算法 + 数据结构 = 程序 是一种面向过程程序设计方法,即一个程序是由多个过程(在C++中为函数)模块组成,过程之间通过函数参数和全局变量进行相互联系。 3.1.1 结构化程序设计 与非结构化程序相比,结构化程序在调试、可读性和可维护性等方面都有很大的改进。 代码重用性不高:以过程为中心设计新系统,除了一些标准函数,大部分代码都必须重新编写。 可维护性欠佳:由于软、硬件技术的不断发展和用户需求的变化,按照功能划分设计的系统模块容易发生变化,使得系统不易维护。 数据与过程分离:一旦某一数据结构做了修改,所有处理数据的过程都必须重新修订。 什么是对象: 计算机科学中将这些现实世界中的事物称之为对象。 现实世界是由各种各样的事物构成,分为 真实的:例如人、动物、汽车 抽象的:例如程序、直线 每一类事物都有: 特定的属性:如大小、形状、重量等 特定的行为:如生长、行走、转弯、运算等 人们通过研究事物的属性和行为而认识事物。 所谓对象:即对现实世界中事物的属性及行为进行抽象化后得到的一个实体。 3.1.2 面向对象程序设计 描述事物的属性 描述事物的行为 优点: 数据及对数据的操作放在一起,成为相互依存、不可分离的整体。 对象 = 作用于这些数据上的操作 现实世界中事物如何划分? 为了描述属性和行为相同的一类对象,引入了类(class)的概念。 类是具有相同数据结构(属性)和相同操作功能(行为)的对象的集合,它规定了这些对象的公共属性和行为方法。 对象是类的一个实例,例如,汽车是一个类,而行驶在公路上的一辆汽车则是一个对象。 如何理解对象与类的关系:对象 类 变量 变量类型 OOP围绕现实世界的概念来
文档评论(0)