华中科技大学:《程序设计方法学》第三课 面向对象程序设计方法学

第三课 面向对象的程序设计方法
第三课 面向对象的程序设计方法

本章主要研究内容 1面向对象程序设计方法的起源 2.面向对象程序设计方法的基本概念 3.应用框架 4面向对象程序设计方法的基本原则 5.设计模式
◼ 1.面向对象程序设计方法的起源 ◼ 2.面向对象程序设计方法的基本概念 ◼ 3. 应用框架 ◼ 4.面向对象程序设计方法的基本原则 ◼ 5. 设计模式 本章主要研究内容

面向对象程序设计方法的起源 (1)面向对象的程序设计( Objiect Oriented Programming,O0P)方法起源于信息隐藏和抽象数 据类型概念,其研究开始于20世纪70年代,到80年 代开始进入使用(以C十十的使用为标志)。 (2)00P的基本思想是将要构造的软件表示为对象 集,每个对象是将一组数据和使用它的一组基本操 作或过程封装在一起而形成的实体,对象与对象之 间依靠消息的传递实现联系。 (3)在0OP中较好地体现了人类的两种思维方式: 从一般到特殊的演绎推理和从特殊到一般的归纳方 法
面向对象程序设计方法的起源 ◼ (1)面向对象的程序设计(Objiect Oriented Programming,OOP)方法起源于信息隐藏和抽象数 据类型概念,其研究开始于20世纪70年代,到80年 代开始进入使用(以C++的使用为标志)。 ◼ (2)OOP的基本思想是将要构造的软件表示为对象 集,每个对象是将一组数据和使用它的一组基本操 作或过程封装在一起而形成的实体,对象与对象之 间依靠消息的传递实现联系。 ◼ (3)在OOP中较好地体现了人类的两种思维方式: 从一般到特殊的演绎推理和从特殊到一般的归纳方 法

面向对象程序设计方法的基本概念—一对象和类 (1)对象(0 bjiect)是将一组数据和作用该组数 据的一组操作或过程封装而形成的实体。是00P中的 最基本单元。 (2)对象由对象名、状态、方法(操作)组成。其 中状态是指对象存储的数据结构的值的集合,状态 随对象的运行(即操作)而变化 (3)对象具有封装性,从外面只能看见其外部特性 (及具备的处理能,由操作实现),而处理能力是 如何实现的及对象的内部状态对外都是不可见的
面向对象程序设计方法的基本概念--对象和类 ◼ (1)对象(Objiect)是将一组数据和作用该组数 据的一组操作或过程封装而形成的实体。是OOP中的 最基本单元。 ◼ (2)对象由对象名、状态、方法(操作)组成。其 中状态是指对象存储的数据结构的值的集合,状态 随对象的运行(即操作)而变化。 ◼ (3)对象具有封装性,从外面只能看见其外部特性 (及具备的处理能,由操作实现),而处理能力是 如何实现的及对象的内部状态对外都是不可见的

面向对象程序设计方法的基本概念一一对象和类 4)对象的功能是比较基本的,对象要完成复杂的 功能,需要与其他对象协同工作,即一个对象可能 要引用另一个对象。对象之间的相互作用只能通过 消息的转递来实现。 (5)一个对象收到来自其它对象的消息后,就可以 激活(运行)对象中的某个操作,改变其内部状态 必要时以消息回传的方式将运行的结果通知引用该 对象的对象 (6)在一个软件系统中,对象的个数及种类是很多 的,通常,把具有相同内部存储结构和相同的一组 操作的对象看作是同一“类”,而将属于某一类的 对象称之为该类的实例
面向对象程序设计方法的基本概念--对象和类 ◼ (4)对象的功能是比较基本的,对象要完成复杂的 功能,需要与其他对象协同工作,即一个对象可能 要引用另一个对象。对象之间的相互作用只能通过 消息的转递来实现。 ◼ (5)一个对象收到来自其它对象的消息后,就可以 激活(运行)对象中的某个操作,改变其内部状态, 必要时以消息回传的方式将运行的结果通知引用该 对象的对象。 ◼ (6)在一个软件系统中,对象的个数及种类是很多 的,通常,把具有相同内部存储结构和相同的一组 操作的对象看作是同一“类”,而将属于某一类的 对象称之为该类的实例

面向对象程序设计方法的基本概念一一对象和类 (1)例如:狗是具有某些特性的动物的总称,“小 黄是一条狗”,则可以认为“狗”是一个类,而小 黄是一个狗的实例(对象) (2)教学楼是具有某种特定属性的建筑的总称,是 一个“类”,则西12教学楼则是一个具体的对象。 (3)从方法学上看,类是一个抽象的概念,因为它 抽象了一类对象的数据及方法特征,从工程实现的 角度考虑,类是一种共享机制,属于该类的对象都 可以共享类中定乂的数据及操作
面向对象程序设计方法的基本概念--对象和类 ◼ (1)例如:狗是具有某些特性的动物的总称,“小 黄是一条狗”,则可以认为“狗”是一个类,而小 黄是一个狗的实例(对象) ◼ (2)教学楼是具有某种特定属性的建筑的总称,是 一个“类”,则西12教学楼则是一个具体的对象。 ◼ (3)从方法学上看,类是一个抽象的概念,因为它 抽象了一类对象的数据及方法特征,从工程实现的 角度考虑,类是一种共享机制,属于该类的对象都 可以共享类中定义的数据及操作

面向对象程序设计方法的基本概念一一继承性 ■从对象到类是一个抽象的过程,类与类之间也可以 有许多共性,也即可以在抽象的基础上进一步抽象。 (1)例1:如“小黄一》狗一》动物”,狗比小黄 抽象,动物比狗抽象。(2)例2:数的分类 类A(数) 类B(浮点数)类D(复数)类E(整数) 类C(双精度数)
面向对象程序设计方法的基本概念--继承性 ◼ 从对象到类是一个抽象的过程,类与类之间也可以 有许多共性,也即可以在抽象的基础上进一步抽象。 ◼ (1)例1:如“小黄-》狗-》动物”,狗比小黄 抽象,动物比狗抽象。(2)例2:数的分类 类A(数) 类D(复数) 类C(双精度数) 类B(浮点数) 类E(整数)

面向对象程序设计方法的基本概念一一继承性 般地,上一层的类成为下一层类的超类 ( superclass,或基类 baseclass),下一层的类成为 子类( subclass) 上图中,C是B的子类,也是A的子类,B、D、E均是A 的子类,A是超类 子类自动继承超类(父类)的性质,如B、D、E自动 继承A的性质。继承性具有传递性,如B继承A的性质, C继承B的性质,则C继承A的性质 ■总之,一个类除了具有该类自有的各种性质外,还 可以继承超类的所有性质
面向对象程序设计方法的基本概念--继承性 ◼ 一般地,上一层的类成为下一层类的超类 (superclass,或基类baseclass),下一层的类成为 子类(subclass)。 ◼ 上图中,C是B的子类,也是A的子类,B、D、E均是A 的子类,A是超类。 ◼ 子类自动继承超类(父类)的性质,如B、D、E自动 继承A的性质。继承性具有传递性,如B继承A的性质, C继承B的性质,则C继承A的性质。 ◼ 总之,一个类除了具有该类自有的各种性质外,还 可以继承超类的所有性质

面向对象程序设计方法的基本概念一一继承性 继承性的主要作用是提供了共享机制,可以 缩短代码的长度,减轻编程人员的负担,节 省存储空间,提高程序的可阅读性及可靠性
面向对象程序设计方法的基本概念--继承性 ◼ 继承性的主要作用是提供了共享机制,可以 缩短代码的长度,减轻编程人员的负担,节 省存储空间,提高程序的可阅读性及可靠性

面向对象程序设计方法的基本概念一一实例(字 符集合,用C++表示 #include Include #define max set size 256 class CHarsEt public void clear;//字符集的初始化 void Write Seto;//显示字符集的内容 void insertMember( char o);/往字符集插入一个字符 void delete Member( char);∥/从字符集中删除一个字符 bool CharIn Set(char);//判断一个字符是否是字符集的成员 private: char m Set[MAX SET SIZE]: int m nNum }
面向对象程序设计方法的基本概念--实例(字 符集合,用C++表示 ) ◼ #include ◼ #include ◼ #define MAX_SET_SIZE 256 ◼ class CCharSet ◼ { ◼ public: ◼ void Clear();//字符集的初始化 ◼ void WriteSet();//显示字符集的内容 ◼ void InsertMember(char c); //往字符集插入一个字符 ◼ void DeleteMember(char c); //从字符集中删除一个字符 ◼ bool CharInSet(char c); //判断一个字符是否是字符集的成员 ◼ private: ◼ char m_Set[MAX_SET_SIZE]; ◼ int m_nNum; ◼ };
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华中科技大学:《程序设计方法学》第七课 MDA方法.ppt
- 华中科技大学:《程序设计方法学》第四课 基于com技术的程序设计方法.ppt
- 《单片机》第6章 MCS-51单片系统扩展.rtf
- 《单片机》第6章 MCS-51单片系统扩展.ppt
- 《单片机》第5章 定时器与中断.rtf
- 《单片机》第5章 定时器与中断.ppt
- 《单片机》第4章 汇编语言程序设计.rtf
- 《单片机》第4章 汇编语言程序设计.ppt
- 《单片机》第3章 MCS-51单片机指令系统.rtf
- 《单片机》第3章 MCS-51单片机指令系统.ppt
- 《单片机》第2章 MCS-51单片机的硬件结构.rtf
- 《单片机》第2章 MCS-51单片机的硬件结构.ppt
- 《单片机》第1章 单片微型计算机概述.rtf
- 《单片机》第1章 单片微型计算机概述.ppt
- 《单片机》电子教案.doc
- 《信息安全与加密》讲义ppt电子课件.ppt
- 《计算系统 Mathematica》课程PPT教学课件:第十四章 符号计算系统Mathematica及其应用.ppt
- 哈尔滨工业大学:《计算机图形学》第9章 计算机动画.ppt
- 哈尔滨工业大学:《计算机图形学》第6章 三维实体造型(二).ppt
- 哈尔滨工业大学:《计算机图形学》第6章 三维实体造型(一).ppt
- 华中科技大学:《程序设计方法学》第六课 程序的正确性证明.ppt
- 华中科技大学:《程序设计方法学》第五章 基于CORBA技术的程序设计方法.ppt
- 华中科技大学:《程序设计方法学》第二课 结构化程序设计.ppt
- 华中科技大学:《程序设计方法学》第一课 程序设计方法学的基本概念和发展.ppt
- 《入门级SUN培训》PDF电子书.pdf
- 《C语言程序设计》课程教学资源:第1章 C语言概述.ppt
- 《C语言程序设计》课程教学资源:第9章 预处理命令.ppt
- 《SPSS10.0》讲义(注释版).pdf
- 《Visual Basic程序设计》课程电子教案(PPT课件)第10章 数据访问.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第11章 数据库编程初步.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第12章 Visual Basic与网络 Internet与 DHTML概述.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第13章 多媒体控件.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第1章 认识 Visual Basic.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第2章 VB表达式与窗体.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第3章 基本控件与顺序程序设计.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第4章 选择控件与分支程序设计.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第5章 图形控件和循环程序设计.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第6章 数组和其它控件.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第7章 多窗体、过程与变量的作用域.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第8章 通用对话框与文件操作.ppt