南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 3-类的基础部分

第3章类的基础部分陈哲教授南京航空航天大学计算机科学与技术学院
1 第 3 章 类的基础部分 陈哲 教授 南京航空航天大学 计算机科学与技术学院

3.1.1过程化程序设计的缺陷程序逻辑复杂:程序员难以理解成百上千的函数以及它们之间的关系:函数协作复杂:为了在多个函数之间进行数据传递,使用大量的全局变量或函数参数:,程序难以进行修改和扩充:函数之间互相关联牵一发而动全身
2 3.1.1 过程化程序设计的缺陷 • 程序逻辑复杂: 程序员难以理解成百上千的函数 以及它们之间的关系; • 函数协作复杂:为了在多个函数之间进行数据传 递,使用大量的全局变量或函数参数; • 程序难以进行修改和扩充:函数之间互相关联, 牵一发而动全身

面向对象程序设计的基本思想3.1.21(过程)过程化程序设计是以函数为中心。数据成员floatwidth;面向对象程序设计是以对象为中floatlength;心,把数据和对数据的操作封装floatarea函数成员在一起。回顾:C语言中如何把setData()(...)数据封装在一起?calculateArea((Example:getwidth()getLength()(.)getArea( )
3 3.1.2 面向对象程序设计的基本思想 • 过程化程序设计是以函数 (过程) 为中心。 • 面向对象程序设计是以对象为中 心,把数据和对数据的操作封装 在一起 。 • Example: 回顾:C语言中如何把 数据封装在一起?

3.2类的基本概念类是一种用户自定义类型,声明形式:类名class变量和函数的声明;例如:
4 3.2 类的基本概念 类是一种用户自定义类型,声明形式: class 类名 { 变量和函数的声明; . } ; 例如:

成员变量float width;属性float length;float area;成员函数setData()calcArea()方法getWidthO.getLengthOigetArea()
成员变量 float width ; float length ; float area ; 成员函数 setData( ) { . } calcArea( ) { . } getWidth( ) { . } getLength( ){ . } getArea( ) { . } 属性 方法

classRectangle默认情况下类的成员是私有floatwidth;的,而结构体(struct)中的成floatlength:员是公有的。floatarea;voidsetData(float, float);voidcalcArea();floatgetWidth();floatgetLength();floatgetArea();7
class Rectangle { float width; float length: float area; void setData(float, float); void calcArea( ); float getWidth( ); float getLength( ); float getArea( ); }; 默认情况下类的成员是私有 的,而结构体(struct)中的成 员是公有的

3.2类的基本概念(续)·为了使类的成员能够在类外面被访问,其成员必须定义为publicExample:
7 3.2 类的基本概念(续) • 为了使类的成员能够在类外面被访问,其 成员必须定义为public. • Example:

classRectangleprivate:floatwidth;floatlength:floatarea;public:voidsetData(float, float);voidcalcArea();floatgetWidth(O);floatgetLength();floatgetArea(O);;
class Rectangle { private: float width; float length: float area; public: void setData(float, float); void calcArea( ); float getWidth( ); float getLength( ); float getArea( ); };

classRectanglepublic:voidsetData(float, float);voidcalcArea();floatgetWidth(O);floatgetLength();floatgetAreaO;private:floatwidth;floatlength:floatarea;;
class Rectangle { public: void setData(float, float); void calcArea( ); float getWidth( ); float getLength( ); float getArea( ); private: float width; float length: float area; };

classRectangleHprivate:floatwidth;public:voidsetData(float, float);voidcalcAreaO;floatgetWidth();floatgetLength();floatgetArea();private:floatlength:floatarea;Y
class Rectangle { private: float width; public: void setData(float, float); void calcArea( ); float getWidth( ); float getLength( ); float getArea( ); private: float length: float area; };
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 2-文件操作.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 1-C++程序设计基础.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)09 编译预处理和多文件项目.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)08 文件.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)07 记录类型.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)06 数组.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)05 函数.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)04 控制流.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)03 运算符和表达式.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)02 常量和变量.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)01 计算机和程序.pptx
- 《程序设计》课程教学资源(实验指导)C++语言习题集(南京航空航天大学:陈哲).pdf
- 《程序设计》课程教学资源(书籍文献)Google开源项目风格指南(中文版).pdf
- 长春大学:旅游学院:《Visual FoxPro程序设计》课程教学资源(授课教案,共七章).pdf
- 《计算机导论》课程教学资源(授课教案,教材讲义,共六章).pdf
- 江苏大学:RISC-V CPU设计实验(讲义).pdf
- 黄河水利职业技术大学:《电商网站建设与优化》课程思政教案(教学设计)PHP动态网站开发.pdf
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第09章 SPI与I2C串行总线.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第08章 USART串行通信.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第07章 模数转换器(ADC).ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 4-类的高级部分.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 5-继承多态和虚函数.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 6-异常处理.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 7-模板.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 8-标准模板库STL.ppt
- 揭阳职业技术学院:《Linux操作系统》课程教学资源(实验教案,共十八个).pdf
- 揭阳职业技术学院:《计算机应用基础》课程授课教案.pdf
- 揭阳职业技术学院:《物联网》课程授课教案.pdf
- 揭阳职业技术学院:《程序设计基础》课程授课教案.pdf
- 揭阳职业技术学院:《办公自动化》课程授课教案.pdf
- 揭阳职业技术学院:《图像处理》课程授课教案.pdf
- 揭阳职业技术学院:《计算机应用基础》课程授课教案.pdf
- 揭阳职业技术学院:《Photoshop制图》课程授课教案.pdf
- 清华大学:《计算机图形学基础》课程教学大纲 Fundamental of Computer graphics(负责人:胡事民).pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)图形学简介.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)视图模型变换.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)双向反射分布函数.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)光线跟踪,递归算法,光线求交.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)参数曲线曲面、Bezier曲线、Bezier曲面.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)网格模型、网格细分和简化.pdf
