第六章类与对象Class & Object
主讲:张耀文
结构体
面向对象程序设计概述
类和对象
继承和派生
多态性
本章内容
重点难点
结构体基本定义和使用(重点)
类和对象;构造函数、析构函数(重点)
继承和派生(重难点)
多态性:虚函数(重点)、运算符重载(难点)
面向对象程序设计 OOP (Object-Oriented Programming)的三要素:
对象、类和继承
面向对象程序设计的实现需要:
封装和数据隐藏技术
继承和多态性技术
OOP方法导论
1、封装和数据隐藏——基础
什么是对象?
概念上:对象(object)是现实世界中的客观事物。对象可以是人、物、事件、规则、概念等。
例如:开发一个商品销售系统。
实现上:把数据和处理数据的过程(操作或方法)当成一个整体,这个封装体就称为对象。
例如:电脑装配声卡,汽车销售点
无须知道封装体内部是如何工作就能使用的思想称为数据隐藏。
对象实现了信息隐藏;对象与外部通过操作接口联系,操作接口提供了对象的功能,操作的具体实现外部是不可见的。
对象是由特定的类创造的,什么是类?
类(class):是把具有相同属性的事物划分为一类,从而得出的抽象概念。
面向对象程序设计中的类,是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了抽象的描述。
对象是类的实例,类是同种对象的抽象。
类和对象类似于面向过程语言中数据类型和变量。
例如:学生类和某个学生对象。
如:确定大小和颜色的矩形都是一个个具体的对象,而将所有矩形的共同特点抽象出来,就是一个矩形类。
这些共有的属性包括颜色( color ),左上角坐标( left, top ),长( length )和宽( width ) 等;
对这些属性的处理包括改变矩形的颜色( SetColor ) 和大小( SetSize ) ,移动矩形到新的位置( Move ),绘出矩形( Draw ) 等。将矩形的这些属性和方法作为一个整体,封装在一起形成一个矩形类。
2、继承和重用——关键
制造一种新型号的电视机可以有两种选择:
1)从草图开始重新设计
2)对现有型号加以改进(继承和重用)
C++采用继承机制支持重用,不仅可重用具有特定功能的类,而且继承可以由已有的类创造新的类。
新类共享已有类的属性,自己还具有额外添加的属性,新类是从已有类派生的,称为派生类或子类,已有类称为父类或基类。
在客观世界中,存在着整体和部分的关系、一般和特殊的关系,继承将后者模型化。
汽车类, 各类汽车
昆虫类, 各类昆虫
交通工具
车
船
飞机
汽车
火车
父类/基类
(superclass)
子类
(subclass)
3、多态性——补充
什么是多态性?
多态是指一个名字有多种语义,或一个相同界面有多种实现;
或是指发出同样的消息被不同类型的对象接受而导致完全不同的行为。即对象根据所接收到的消息做出相应的操作。
例如:在学籍管理系统中
学生类(基类)
计算成绩的操作
中学生类(派生类)
计算成绩的操作
大学生类(派生类)
计算成绩的操作
c 类与对象 来自淘豆网m.daumloan.com转载请标明出处.