面向对象程序设计 QQ 群: 343072849 Object-Oriented Programming 汽车学院.

Slides:



Advertisements
Similar presentations
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
Advertisements

网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
1 计算机软件考试命题模式 计算机软件考试命题模式 张 淑 平 张 淑 平. 2  命题模式内容  组织管理模式 − 命题机构和人员组成 − 命题程序  试卷组成模式.
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
《程序设计实践》 孙辉 理工配楼104A
ASP .NET 程序设计(C#版) 第二版 机械工业出版社同名教材 配套电子教案
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
课程 要求 参考 书目 课程 内容 课程 练习.
初级会计电算化 (用友T3) 制作人:张爱红.
Tool Command Language --11级ACM班 金天行.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Oracle数据库 Oracle 子程序.
第14章 c++中的代码重用.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
程序、模型与表达 前端工程师的程序设计思考.
计算机基础知识 丁家营镇九年制学校 徐中先.
                                                                                                                                                                
类和对象 潘荣江 山东大学计算机科学与技术学院
Hadoop I/O By ShiChaojie.
Overview of Python Visualization Tools
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第二讲 搭建Java Web开发环境 主讲人:孙娜
Computer Graphics 计算机图形学基础 张 赐 Mail: CSDN博客地址:
面向对象建模技术 软件工程系 林 琳.
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
产品介绍 MF825C 产品类型:上网卡 建议零售价格:599元 上市时间: 2014年 2 月20日 目标人群:商务人士、白领、IT潮人
PaPaPa项目架构 By:Listen 我在这.
泛型委托 泛型接口、方法和委托.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
三:基于Eclipse的集成开发环境搭建与使用
程序设计工具实习 Software Program Tool
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
C++复习3 ----类的继承与派生.
_01Win32简介与IDE简介 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
VisComposer 2019/4/17.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
<编程达人入门课程> 本节内容 计算机编程语言 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
2019/5/8 第2章 数据分析软件介绍.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
Chapter 18 使用GRASP的对象设计示例.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
辅导课程十五.
一元二次不等式解法(1).
第二章 Java基本语法 讲师:复凡.
OpenStack vs CloudStack
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
第二节 C语言的特点.
MFC的六大核心 机制 命令传递 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
第十七讲 密码执行(1).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
学习数据结构的意义 (C语言版) 《数据结构》在线开放课程 主讲人:李刚
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
Presentation transcript:

面向对象程序设计 QQ 群: Object-Oriented Programming 汽车学院

第 1 章 面向对象程序设计概述 本章重点: 本章通过面向过程的程序设计与面向对象的程序设计比较,介绍面 向对象的基本概念,如数据抽象与封装、类的继承性和多态性等。 内容: 1.1 什么是面向对象程序设计 1.2 为什么要使用面向对象程序设计 1.3 面向对象程序设计的语言 本章小结 本章小结 练习题、思考题 练习题、思考题 2

1.1 什么是面向对象程序设计 一种新的程序设计范型  面向过程程序设计:  核心是功能分解:自顶向下、逐步求精的模块化设计方法。  程序 = 过程 + 调用  缺点:算法与数据结构的分离,给软件人员造成沉重的负担。当数据结构发生变化时,算法就要随之改 变,程序的可重用性差、维护代价高。  面向对象程序设计:  是一种新的程序设计范型。  程序 = 对象 + 消息  主要结构特点:  程序一般由类的定义和类的使用两部分组成。  程序中的一切操作都是通过向对象发送消息来实现的,对象接收到消息后,启动有关方法完成相应的操 作。  最大优点:软件具有可重用性。当人们对软件系统的要求有所改变时,并不需要程序员做大量的工作, 就能使系统做相应的变化。 3

1.1.2 面向对象的基本概念 对象 类 消息与方法 4

对象的概念 1 、对象  对象是具有某些特性的具体事物的抽象  每个对象都具有描述其特征的属性及附属于它的行为 属性:型号 外壳 颜色 功率等 一辆汽车 行为:启动 行驶 加速 刹车等 5

对象的概念  考虑对象 “ 黎明 ” ,具体描述为: 6 对象名黎明 属性年龄: 45 、学历:博士 职称:教授、专业:计算机软件 行为走路、吃饭、授课

对象的概念  对象是描述其属性的数据以及对这些数据 施加的一组操作封装在一起构成的统一体 7 行为 属性数据 操作代码 黎明黎明 对象对象

类的概念 2 、类  类是一组具有相同属性和行为的对象的抽象  类是对象的定义,对象是类的一个实例 类 对象 汽车 某辆汽车 电脑 某台电脑 类是抽象的 对象是具体的 8

类的概念  类是具有相同的数据和相同操作(函数)的一组 对象的集合  类是对具有相同数据结构和相同操作的一类对象 的描述 9 类名教师 属性年龄、学历 职称、专业 行为走路、吃饭、授课

消息与方法 3 、消息与方法  面向对象机制必须提供对象与对象之间的交互即消息传递。 同一个对象可以接受多个消息,做出不同的响应; 相同形式的消息可以传递给不同的对象,做出不同的响应; 对消息的响应并不是必需的。  方法包括界面和方法体两部分  方法界面给出了方法名和调用协议(相当于 C++ 的成员函数名和参数)  方法体则是实现某种功能的一段程序(相当于 C++ 中的函数体) 消息与方法的关系是:对象根据接收到的消息,调用相应的方法 10

1.1.3 面向对象的基本特征 1 、1 、抽象性 2 、2 、封装性 3 、3 、继承性 4 、4 、多态性 11

1 、抽象  抽象是将有关事物的共性归纳,集中的过程。  抽象是通过特定的实例(对象)抽取共同性质后形成概念 的过程。即类的实现过程。 12 共同属性 Char *name // 姓名 int number // 学号 float score // 成绩 input( ) // 数据录入 moify( ) // 数据修改 print( ) // 数据输出 共同行为 类

2 、封装  封装是指把数据和实现操作的代码集中起来存放在对象内 部。对外提供部分接口。 13 操作代码 1 操作代码 2 接口 1 操作代码 3 接口 2 接口 3 数据

3 、继承  子类具有父类的属性和行为特征(软件复用)。 14 客车 轿车 车辆车辆 卡车 非机动车 机动车 普通车 越野车 面包车 大客车

派生  子类在继承父类的基础上增加新的属性和行为特征。 15 客车 轿车 卡车 机动车

单继承与多继承  单继承是指每个派生类只直接继承了一个基类的特征。  多继承是指多个基类派生出一个派生类的继承关系。 16 窗口 对话窗口编辑窗口 车玩具 玩具车

4 、多态性  不同的对象收到相同的消息时执行不同的操作。 17 click

多态性  几何图形类层次中的多态性。其派生类 “ 圆 ” 、 “ 长方形 ” 、 “ 三角形 ” 等都有服务 “ 求面积 ” 18 几何图形

1.2 为什么要使用面向对象程序设计 传统程序设计方法的局限性  1 、传统程序设计开发软件的生产效率低下  2 、传统程序设计难以应付日益庞大的信息 量和多样的信息类型  3 、传统程序设计难以适应各种新环境 19

1.2 为什么要使用面向对象程序设计 面向对象程序设计的主要优点  1 、可提高程序的重用性  2 、可控制程序的复杂性  3 、可改善程序的可维护性  4 、能够更好地支持大型程序设计  5 、增强了计算机处理信息的范围  6 、能很好地适应新的硬件环境 20

1.3 面向对象程序设计的语言 面向对象程序设计语言的发展概况 几种典型的面向对象程序设计语言 实验平台 VC

1.3 面向对象程序设计的语言 面向对象程序设计语言的发展概况 1)第一阶段:从 80 年代到 1995 年 a) 作为 C 语言的增加版出现; b) 这一阶段 C++ 语言基本上是传统类型上的面向对象语言,并且凭 借着接近 C 语言的效率,在工业界使用的开发语言中占据了相当大份额;面向对象语言 2)第二阶段:从 1995 年到 2000 年 这一阶段由于标准模板库 (STL) 和后来的 Boost 等程序库的出现,泛 型程序设计在 C++ 中占据了越来越多的比重性。当然,同时由于 Java 、 C# 等语言的出现和硬件价格的大规模下降, C++ 受到了一定的冲击;标准模板库 Boost 3)第三阶段:从 2000 年至今 由于以 Loki 、 MPL 等程序库为代表的产生式编程和模板元编程的出 现, C++ 出现了发展历史上又一个新的高峰,这些新技术的出现以及和 原有技术的融合,使 C++ 已经成为当今主流程序设计语言中最复杂的一 员。 22

1.3 面向对象程序设计的语言 几种典型的面向对象程序设计语言 1. C++ 语言 ● 混合型面向对象程序设计语言;  ● 20 世纪 80 年代在 C 语言的基础上开发而来 ;  ● C++ 是对 C 的革命,既兼容 C 的语法,又全面支持面向对象 ;  ● 广泛流行,并有各种版本的 C++ 编译系统; 2. Java 语言 1995 年 6 月由 SUN 推出; ● 1995 年 6 月由 SUN 推出; ●一种纯粹的面向对象程序设计语言 ; ● 避免了 C 、 C++ 中的不合理因素 ; ●真正实现了与平台无关,可运行于各种操作系统和芯片; 3. C# 语言 ● 2000 年由 Microsoft 公司推出; ●由 C/C++ 发展而来; ● 更易于建立基于 Microsoft.NET 平台,以 XML (扩展标识符语言)为基础的因特网服务; 23

1.3 面向对象程序设计的语言 实验平台 VC++6.0 ● Visual C++ 是以 C++ 作为语言、以 MFC 类库为基础的功能强大的 可视化软件开发工具库; ● Visual C++ 可以完成各种各样的应用程序的开发 ; ● Visual C++ 提供强大的调试功能与排错手段; 24

第 1 章小结  面向对象程序设计的基本概念;  面向对象程序设计的基本特征;  面向对象程序设计的主要优点。 25

第 1 章 练习  编写 C 程序:由键盘输入两个整数,计算两 个整数的和并输出。 26

第 1 章思考作业  什么是面向对象程序设计。  什么是对象、类,之间的关系。  什么是抽象和封装。  什么是继承,举例。  什么是多态性,举例。 27

Object-Oriented Programming 汽车学院 Q & A Q & A Practice, Practice, and Practice