《MATLAB程序设计》第1章 面向对象程序概述
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.4 C++程序的结构特征
1.4.1 C++程序实例 【实例1-1】
#include <iostream.h> //包含头文件iostream
int main() { cout<<“welcome to C++!\n” ; //流插入运算符 return 0; //退出函数的方式之一 }
13 16:30 广东金融学院应用数学系
15 16:30 广东金融学院应用数学系
1.4.1 C++程序实例
【实例1-4】 定义一个学生类,输出学号和成绩。 #include <iostream.h> // 预处理命令 // 定义公用函数display class Student // 声明一个类Student void display( ) {cout<<num<<endl; {private: // 以下为类中的私有部分 cout<<score<<endl; int num; }; int score; }; //类定义后一定要加分 public: // 以下为类中的公用部分 号 void setdata( ) // 定义公用函数 {cin>>num; cin>>score; }
优缺点:复杂的任务-分解成子任务 ;可重用 性差。 •面向对象的程序设计 以数据为中心,数据相对于功能而言,具有更 强的稳定性 。代码重用。
4 16:30 广东金融学院应用数学系
C++与C语言的关系
•与C语言兼容 •C++对C语言作了很多改进 – 增加了新的运算符 – 增加了引用的概念,引用做参数很方便 – 允许函数重载 – 引进内联函数,提高了效率 – 对变量的说明更灵活 •C++与C的本质差别(类与对象)
20 16:30 广东金融学院应用数学系
1.4.3 C++程序的书写规则
1. 对齐规则
同一层次的语句应该从同一列开始书写;
2. 缩进规则
不同层次的语句应该从不同列开始书写,形成缩进
格式;
3. 严格区分字母的大小写。
4. 有足够的注释。
21 16:30 广东金融学院应用数学系
1.5 C++程序的实现
– 函数体:由{ }括起来的部分,其中包括变量定 义部分、语句部分。
19 16:30 广东金融学院应用数学系
1.4.2 C++程序的构成
• 一个C++程序总是从main()函数开始执行,而不论 其位置如何。 • 每个语句和变量定义都以;号结束。 • cin 表示C++的标准输入设备,cout表示C++的标准 输出设备;>>是C++的流提取操作符,<<是C++的 流插入操作符。
// 主函数首部
// 调用对象stud1的setdata函数 // 调用对象stud2的setdata函数 // 调用对象stud1的display函数 // 调用对象stud2的display函数
17 16:30 广东金融学院应用数学系
1.4.2
C++程序的构成
1. 一个C++程序由注释、声明和函数定义三部分组成 (1) 注释分为两种:序言性注释和注解性注释。 注释的方法分为两种:/* */ 和//。 (2)声明部分包含以下内容: •宏定义、类定义、结构定义 •函数原型声明 •全局变量声明 •函数定义 •编译预处理,以#开头的语句行。其功能是在编译之 前完成某些操作,尾部不加分号。
10 16:30 广东金融学院应用数学系
1.2 面向对象程序设计的基本思想
4.继承 继承反映了一般类和特殊类之间的关系,它是 面向对象方法的重要特性。继承对于软件复用有着 重要意义,是面向对象技术能够提高软件开发效率 的重要原因之一。 在面向对象程序设计中,继承是指新建的类从 已有的类那里获得已有的属性和操作。已有的类称 为基类或父类,继承基类而产生的新建类称为基类 的子类或派生类。由父类产生子类的过程称为类的 派生。
8 16:30 广东金融学院应用数学系
1.2 面向对象程序设计的基本思想
2.类 类是具有相同操作功能和相同的数据格式(属 性)的对象的集合。 在面向对象程序设计中,类是具有相同属性数 据和操作的对象的集合,它是对一类对象的抽象 描述。类是创建对象的模板,它包含着所创建对 象的状态描述和方法的定义,一般是先声明类, 再由类创建其对象。按照这个模板创建的一个个 具体的实例,就是对象。
2 16:30 广东金融学院应用数学系
第1章 C++语言概述
1.1 程序设计方法的发展历程
1.2 面向对象的基本思想
1.3 C++程序的特点
1.4 C++程序的结构特征
1.5 C++程序的实现
3 16:30 广东金融学院应用数学系
1.1 程序设计方法的发展历程
•面向过程的结构化程序设计
采用模块分解与功能抽象,自顶向下,分而治 之。以服务(功能)为中心。
14 16:30 广东金融学院应用数学系
1.4.1 C++程序实例
【实例1-3】已知一个圆的半径r,求圆的面积。 #include<iostream.h> float area(float ); float area(float r) #define PI 3.14159 { float s1; void main() s1=PI*r*r; { float r,s; float area(float r); return s1; cin>>r; } s=area(r); cout<<“s=”<<s<<endl ; }
1. 熟悉VC++的IDE 2. 掌握创建一个C++程序的过程
例1:已知一个圆的半径r,求圆的面积。
例2:已知,三角形的三边长,求三角形的面积。
24 16:30 广东金融学院应用数学系
小结
1. 熟练掌握C++的程序构成及其书写规则
2. 熟悉VC++的IDE界面
作业
P13 1、2
预习第2章
25 16:30 广东金融学院应用数学系
18 16:30 广东金融学院应用数学系
1.4.2 C++程序的构成
(3) 函数定义。每一个函数定义一个特定的功能。 任何一个完整的C++程序至少包含一个且只能包 含一个main()函数。 void main() {…//语句序列 } •一个函数由两部分组成
– 函数说明部分:包括函数类型,函数名,函数 参数。
第1章 面向对象程序概述
教学主要内容
面向对象程序设计的基本思想 C++程序的结构特征 VC++的上机过程(C++程序的实现) 重点与难点 C++程序的结构特征 C++程序的实现
1 16:30 广东金融学院应用数学系
第1章 C++语言概述
教学目标
掌握简单C++程序的构成 熟练掌握C++的书写格式 了解面向对象的程序设计的概念 熟悉 VC++的上机过程
11 16:30 广东金融学院应用数学系
1.2 面向对象程序设计的基本思想
5.多态性 多态性是指相同的函数名可以有多个不同的函 数体,即一个函数名可以对应多个不同的实现部分。 在调用同一函数时,由于环境的不同,可能引发不 同的行为,导致不同的动作。 例如: 数的加法->实数的加法->复数的加法
12 16:30 广东金融学院应用数学系
1.2 面向对象程序设计的基本思想
现实世界中的对象一般具有以下特性: (1)每一个对象必须有一个名字以区别于其他对象。 (2)用属性来描述对象的某些特征。 (3)有一组操作,每个操作决定对象的一种行为。 对象是描述客观事物的一种实体。它可以是有 形的(比如一辆汽车),也可以是无形的(比如一 项计划)。是构成世界的一个独立单位。
1.4.1 C++程序实例
【实例1-2】已知一个圆的半径r,求圆的面积。 //ex1_2.cpp //源程序文件名称 #include <iostream.h> //包含头文件iostream void main() { float r,area; cout<<“input r=” ; //<<流插入运算符 cin>>r; //>>流提取操作符,输入半径r area=3.1415926*r*r; //计算圆面积 cout<<“area=“<<area<<endl; //输出圆面积 }
5 16:30 广东金融学院应用数学系
1.2 面向对象程序设计的基本思想
面向对象方法是开发计算机软件的一种方法。 这种方法比面向过程的方法可提高可用性,适用 于图形界面的使用,减少模块间的依赖关系,有 利于程序的调试和修改。该方法是一种采用了类、 对象、继承和多态等新概念的新方法。
将数据及对数据的操作方法封装在一起,作为 一个相互依存、不可分离的整体——对象。对同 类型对象抽象出其共性,形成类。
16 16:30 广东金融学院应用数学系
1.4.1 C++程序实例
【实例1-4】定义一个学生类,输出学号和成绩。 Student stud1,stud2; 量,称为对象 //定义stud1和stud2为Student类的变
void main( )
{stud1.setdata( ); stud2.setdata( ); stud1.display( ); stud2.display( ); }
开发过程: 1. 用户需求分析
2. 算法设计
3. 编写代码(C++程序.cpp) 4. 编译源程序,生成目标程序.obj 5. 连接成可执行文件.exe 6. 调试运行
7. 分析结果
22 16:30 广东金融学院应用数学系
开 发 过 程
23 16:30 广东金融学院应用数学系
VC++程序的上机过程
9 16:30 广东金融学院应用数学系
பைடு நூலகம்
1.2 面向对象程序设计的基本思想
3.封装 封装是指将对象的属性和行为结合成为一个独 立的封装体。把对象的属性和服务结合成一个独立 的系统单位。 封装是一种数据隐藏技术,在面向对象程序设 计中可以把数据和与数据有关的操作集中在一起形 成类,将类的一部分属性和操作隐藏起来,不让用 户访问,另一部分作为类的外部接口,用户可以访 问。类通过接口与外部发生联系,用户只能通过类 的外部接口使用类提供的服务,而内部的具体实现 细节则被隐藏起来,对外是不可见的。
6 16:30 广东金融学院应用数学系
1.2 面向对象程序设计的基本思想
1.对象
对象是包含现实世界物体特征的抽象 实体,它反映了系统为之保存信息和(或) 与它交互的能力。它是一些属性及服务的 一个封装体。 对象=数据+作用于这些数据上的操作 对象一般可以表示为:属性+行为。
7 16:30 广东金融学院应用数学系