C++_第9章_类和对象_2010年_上半年.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++_第9章_类和对象_2010年_上半年.ppt

本章主要内容 对象和类概述 类与对象的定义和声明 成员函数 对象的访问与存储 实体和对象 实体:指客观世界存在的某个事物 西安交大、一只羊、一篇文章、机自64班 陈剑、教学主楼、姚明的汽车 每个实体有其特征(属性)和操作(方法) 电视机属性:尺寸、彩色、频道、液晶…… 电视机操作:选频、调色、调音量…… 陈剑的属性和操作? 有些实体只有属性而无操作,如兵马俑等 操作和属性密切相关、相互依赖 对象=实体 类的概念 类:具有相同属性和操作的对象集合 所有红旗轿车→轿车类 所有罗西尼手表→手表类 所有交大学生→交大学生类 整数集合→整数类 对象是类的一个实例或个体或元素 类的属性和操作 类是具有相同共性的实体集合 类的属性和操作也就是实体的属性和操作 学生类的属性和操作 属性:姓名、性别、年龄、学号、成绩、身高…… 操作:上课、跑步、求平均成绩、求最好成绩…… 轿车类的属性和操作 属性:型号、颜色、价格、出厂日期、轮子直径…… 操作:运动、鸣笛、维修、加油、保险…… 整数类的属性和操作 属性:N位十进制整数(或4个字节)…… 操作:加法+、减法-、乘法*、除法÷…… 对象的描述 对象指客观世界中的一个实体 描述某个对象就是描述它的属性和操作 对象=属性+操作 对象=数据+函数 将数据和函数当作一个统一体 类是具有相同属性和操作的对象集合 结构体与类的区别? 先定义类的属性和操作,再声明具体对象 两种程序设计思想 面向过程的程序设计(Structure Programming) 以功能为中心,采用函数来描述操作 面向对象程序设计(Object Oriented Programming) 以数据为中心,采用对象来描述内部属性和操作方法 面向过程程序设计是将数据与函数分离,数据一旦发生改变,函数也要相应改变,如排序函数 面向对象程序设计是将数据和函数当作一个统一体,采用软件对象模拟客观世界中实际对象 OOP的特征 抽象:数据抽象+代码抽象 如电视机、学生 封装:操作和数据封藏起来,组成统一体 继承:将对象(实体)之间的差异通过继承性加以描述 动物→ {人、大象、鸟…}→ {学生、工、农、兵…} → {大学生、中学生…} →… 多态性:指相同语法结构(数据或操作)代表多种功能 如+、—、*、/ OOP的优点 开发时间短,效率高,可靠性高 重用,共享,可维护性,精简 适合于大型程序长时间的团队开发工作 思考为什么要引入…? 为什么要引入数组? 太多的变量(全班同学的C++成绩) 为什么要引入函数? 结构化程序设计、代码重用 为什么要引入指针? 加快速度、参数传递、动态分配内存 为什么要引入结构体? 复合数据结构,不同数据类型的聚合在一起 为什么要引入类 采用人们认识客观世界的自然方式去模拟客观世界中对象 提高开发程序的效率和可靠性 数据与代码的整合(以便更高级的代码复用) 类的定义 class <类名> { private: //私有成员 <数据成员说明语句>; <函数成员说明语句>; public: //公有成员 <数据成员说明语句>; <函数成员说明语句>; protected://保护成员 <数据成员说明语句>; <函数成员说明语句>; } 定义猫类 class Cat { private://数据成员一般为私有成员 char Name[9]; char Sex; int Age; public://函数成员一般为公有成员 void Register(char *name,int age,char Sex); void Speak(); void Show_Cat( ); char *Getname( ); int Getage( ); int Getsex( ); } 成员函数的定义 成员函数定义分两种形式:类内与类外定义 在类体内直接编写函数体 在类体外编写成员函数的一般形式: <类型> <类名> :: <函数名> (<参数表>) { <函数体> } 内联函数 如果成员函数在类体中直接给出完整定义,则称内联函数数 class Cat { private://数据成员一般为私有成员 char Name[9]; char Sex; int Age; public://函数成员一般为公有成员 void Register(char *name,int age,char Sex); void Speak(); void Show_Cat( ); char *Getname( ); int Getage( ) ; int Getse

文档评论(0)

zhoujiahao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档