文档介绍:此文件仅供学习参考
参考书为《面向对象程序设计及C++》
人民邮电出版社 出版
朱立华 朱建 俞琼 编著
参考:C++面向对象程序设计
第一讲 C++概述
课程地位
软件课程体系
高级技术
对象(cont.)
面向对象编程:类与对象的关系(cont.)
对象(Object)是类的实例
定义小强是一个学生
属性:
:小强
:06岁
:男
:学前班
行为:
定义Tom是一只猫
属性:
:Tom
:黑色
:波斯猫
行为:
面向对象编程:类与对象(cont.)
struct Student
{
int num;
char *name; //成员变量(属性)
char sex;
void study(); //成员函数(行为)
};
struct Student test;//对象
.....
对象:按照类类型创建的变量
面向对象编程:类与对象(cont.)
对象:现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
类:是一种抽象的数据类型,是同种对象的集合与抽象,是具有共同行为和属性的若干对象的统一描述体。
类
对象
对象
对象
对象
对象
对象
实例化
面向对象编程:类与对象的关系(cont.)
本次议题
课程简介
C++概述
C与C++的关系
面向对象程序设计
类和对象
面向对象的三大特征
面向过程与面向对象
第一个C++程序
面向对象的三大特性:封装
C中的封装:
现实生活中的封装:
傻瓜相机
C++中的封装:
Step1:将数据和处理数据的函数封装为类
Step2:可以将某些成员声明为private从而达到信息隐藏的目的
面向对象的三大特性:封装(cont.)
封装性 就是将属性(数据)和处理这些属性(数据)的行为(方法)结合起来,仅对外公开接口以达到信息隐藏的目的。
封装的优势:
封装是面向对象程序设计语言实现信息隐藏的方法。
封装隐藏了具体的实现细节,使某些成员设为私有从而提高了安全性和可靠性。
面向对象编程:继承
学生
大学生
现实生活中的继承:
C++中的继承:
在软件开发中,若已有类A要创建类 B而类A和类B属性和行为基本相同,则只需在A的基础上增加些新的内容即可!
子类
父类
面向对象编程:继承(cont.)
继承(inheritance)是指子类(subclass)继承父类(superclass),会自动取得父类除私有成员外的全部成员,同一类的所有实体都会自动有该类的全部成员,做到代码重用(reuse)。
继承的优势:
提高了代码的重用率,提高了编程效率
面向对象编程:多态
面向对象编程:多态(cont.)
多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。
在面向对象理论中,多态性的定义是:同一操作作用于不同的类的对象,将产生不同的执行结果 。
多态的优势:
增强了程序的灵活性
本次议题
课程简介
C++概述
C与C++的关系
面向对象程序设计
类和对象
面向对象的三大特征
面向过程与面向对象
第一个C++程序
面向过程
1、概念:以功能为基础,采用自顶向下,逐步细化的方法
大问题
小问题
小问题
小问题
进一步细化每个功能………
面向过程(cont.)
main( )
getNum()
maxMinValue()
prin()
自顶向下
,逐步细化
只需考虑写几个功能
具体的实现每个功能
一、面向过程
int main()
{
int number[5] = {0},maxNum,minNum;
maxNum = minNum = number[0];
getNum(number);
maxMinValue(number,&maxNum,&minNum);
prin(number, &maxNum, &minNum);
system("PAUSE");
return 0;
}
void getNum(int *p)
{
int *temp;
printf("Please input 5 number:\n");
for(temp=p+4; p<temp; p++)
scanf("%d",p);
}
void maxMinValue(int *p,int *m,int *n)
{ int *temp =