文档详情

面向对象程序设计基本概念.pptx

发布:2025-05-10约4.2千字共10页下载文档
文本预览下载声明

第10章面向对象程序设计基本概念

讲授内容面向对象程序设计方法的产生和发展面向对象程序设计语言面向对象程序设计的特点类和对象的基本概念消息

10.1面向对象语言和方法(1/6)六十年代末期——Simula67(面向对象语言的鼻祖)类——描述特性相同或相近的一组对象的结构和行为包含了类和继承的概念继承——将多个类组织成层次结构,实现数据和操作的共享

10.1面向对象语言和方法(2/6)包含类和继承,更严格的信息隐藏带有一个巨大的、标准类库第一个使用MVC(Model-View-Controller)模式开发交互式应用软件七十年代末八十年代初——Smalltalk(第一个真正的集成开发环境)

10.1面向对象语言和方法(3/6)Smalltalk使面向对象方法为人们注目面向对象语言被分为两大阵营纯粹的面向对象语言:Smalltalk、Eiffel、Java混合型面向对象语言:C++和CLOS基于对象的语言:Ada支持数据抽象类型(包)、函数和运算符重载、多态性,但不支持继承

10.1面向对象语言和方法(4/6)结构化程序设计1软件的结构化分析、设计方法2工程化的概念的方法3但无法很好地支持越来越复杂、庞大的系统需求4面向对象方法5直接将问题的求解映射到问题本身上6有目的地将系统分解为模块7将问题分解为一系列的实体(对象)8方便设计,可维护性、可扩充性好9

10.1面向对象语言和方法(5/6)简单的例子——图书馆管理系统包含reader(读者)对象、librarian(图书管理员)对象、bookshelf(书架)对象等所有的操作由各对象协作完成借书reader对象向librarian对象提出借书请求librarian对象向bookshelf对象提出查书和取书请求然后逐步响应,逐步返回,共同完成借书操作万物皆对象

10.1面向对象语言和方法(6/6)很容易扩充新的数据和函数函数与相关的数据紧密结合对象之间通过相互协作来完成功能程序设计的重点在数据而不是函数数据可以被隐藏大多数对象的定义以数据为中心程序由对象组成面向对象方法的一些特性

01面向对象程序设计的一般步骤02分析实际问题,分辨并抽取其中的类和对象03设计相应的类,并根据这些类创建各种对象04协调这些对象完成程序功能(消息)10.2类、对象和消息(1/10)

01万物皆对象每个学生、每个班级、每个学校、每个国家、每棵树、每本书、每部汽车——具体的实体“张三”、“李四”都是对象,但“人”不是020304“人”不是具体的实体,是类,是抽象概念类是某些对象共同特征的表示类是创建对象的模板,对象是类的实例050610.2类、对象和消息(2/10)

10.2类、对象和消息(3/10)如何区分类和对象——以“人”和“张三”为例“人”描述了所有人(包括“张三”)都具有的属性和行为,如有姓名、身高、体重,有鼻子、眼睛、四肢,能交流、能思维等等类(“人”)描述的概念是抽象的“人”的姓名是什么?“人”的身高是什么?对象(“张三”)是具体的“张三”的姓名是“张三”“张三”的身高是185CM有哪些类和对象的例子教室——301-105教室国家——中国学校——国防科技大学05……10.2类、对象和消息(4/10)

例子:读者类ReaderclassReader{public: Reader(); //构造函数 intregistration(char*name); //注册 intborrowBook(intbookNo); //借书 intreturnBook(intbookNo); //还书private: char*name; //姓名 char*certifNo; //借书证号};

格式说明01类的定义以关键字class开头02class后面是类名(Reader)03类名后面花括号扩起来的部分是类的体04类的定义以分号结尾0510.2类、对象和消息(5/10)

10.2类、对象和消息(6/10)内容说明类的定义可以包含数据和函数关键字public后面定义了类的公有成员类Reader有四个公有成员函数:Reader、registration(注册)、borrowBook(借书)和returnBook(还书)关键字private后面定义的是类的私有成员类Reader包含两个私有数据成员,姓名(name)和借书证号(certifNo)数据成员和成员函数都可以是私有的或公有的

10.2类、对象和消息(7/10)自定义类是一种新的自定义类型,可以声明变量、指针、数组等对象各自拥有自己的数据空间,互不干扰Readerzhang; //声明Reader类的对象zhangReaderre

显示全部
相似文档