面向对象的程序设计概述

面向对象的程序设计概述

ID:39425502

大小:557.81 KB

页数:26页

时间:2019-07-03

面向对象的程序设计概述_第1页
面向对象的程序设计概述_第2页
面向对象的程序设计概述_第3页
面向对象的程序设计概述_第4页
面向对象的程序设计概述_第5页
资源描述:

《面向对象的程序设计概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、湖南文理学院计算机学院C++程序设计语言孙叶枫1第一章面向对象的程序设计概述在面向过程的程序设计中,程序是处理数据的一系列过程。过程(或函数)定义为实现特定功能的一组指令。其主要设计思想是功能分解并逐步求精。数据与程序过程分开存储,编程的主要技巧在于关注模块之间的调用关系及数据的变化。§1.1什么是面向对象程序设计1.1.1面向过程程序设计概念1、当数据量增大时,数据与处理这些数据的方法之间的分离使程序变得越来越难以理解。2、相对于老问题的新方法都要带来额外的开销,程序的可重用性小。面向过程程序设计的主要缺点面向对象的程序设计的主要特征:程序=对象+消息1.1.2面向对象程序设计概念特点

2、:1)程序由类的定义和类的使用组成2)对程序的操作是通过向对象发送消息来实现3)类由继承关系产生联系说明:C++既是面向过程的程序设计语言,也是面向对象的的程序设计语言面向对象程序设计OOP(Object-OrientedProgramming)的基本特征:主要特征:对象、类、封装、继承、多态性§1.2对象与类1、对象(object)实体对象:一台计算机抽象对象:一项计划什么是对象:用来描述客观事物的一个实体,它是构成系统的一个基本单元。一个对象由一组属性和服务(行为)组成。1.2.1对象与类的概念对象构成要素:1.对象标识符(对象名)2.属性3.服务属性:是用来描述对象静态特征的一个数

3、据项。服务:是用来描述对象动态特征和行为的一个操作。标识符:是对象的名称,用来区别与其他对象。对象名属性服务学号、姓名、专业、性别、年龄、身份证号、电话等等获取和修改学号、姓名、专业、性别、年龄等等(表一)例题1:考虑对象“学生”,具体描述为:学生2.区别:三者的区别注意点:1.一体性:三者成为一体例题2:对象“课程”的有关抽象描述。对象名属性服务课程课程名、编号、学时数、选课要求、任课教师等获取并修改课程名、编号、学时数、选课要求、任课教师等(表二)注意点:1.属性是对对象的静态描述.2.服务是对对象的动态描述.外部是通过调用服务与对象取得联系.同一对象可以接收不同信息,做出不同响应相

4、同的消息可传递给不同对象,可做出不年个响应对象可以响应消息,也可以不响应2、对象的交互对象之间的联系称为对象的交互消息:一个对象向另一个对象发出的请求方法:定义一系列的计算步骤消息的性质:消息的分类:公有消息和私有消息什么是类:是具有相同属性和服务的集合,它提供对对象的抽象描述3、类(class)的确定与分类类与对象的关系:类对象抽象定义实例例题3:模具由模具压出的工件学生学生王强模板应用模板产生的文件类型变量,如C语言中的int和intx;类的分类:抽象类,基类(父类),派生类(子类),等等基类:运用抽象原则,舍弃对象的特殊性,提取对象的共同性,得到的一个对象集的类.派生类:

5、在基类的基础上,再考虑在抽象过程中被舍弃的对象的特殊性,而产生的新类.例题4:若考虑类“学生”,则类“大学生”和“中学生”就是它的派生类。类“学生”是它们的基类。基类与派生类的关系:派生类具有基类的全部特征。派生类有自己的特征,不完全等于基类。它们有继承关系,派生类是基类的子集。分类的目的和意义:对现实世界的实体进行分类,便于应用OOP。直观地,正确地,有层次地表达现实世界。例如,基类“学生”和派生类“大学生”的关系。车辆客车卡车轿车面包车机动车越野车普通车大客车非机动车图一:车辆类层次图考虑运输工具这个实体,它包含了车辆,车辆又包含机动车和非机动车,机动车又包含轿车和卡车等等。如果建一

6、基类“机动车”,则“轿车”和“卡车”就是“机动车”的派生类,而“车辆”可以是基类“机动车”的基类。即基类可以有基类,派生类可以有派生类。例题5:1.3数据的抽象与封装什么是封装:把对象的属性和服务结合成一个独立的单元,并尽可能荫蔽对象的内部细节。仓库属性服务价格表,物品,帐单,电话,等等提供物品,帐单等等(图二)例6:抽象考虑一个仓库,外部只能通过管理员获取物品。什么是抽象:通过特定例子抽取共同性质后形成概念的过程封装的特点:一个清楚的边界。所有对象的成分都在这个边界内。2.一个接口。外部通过这个接口访问对象的内部成员。需要更多的输入输出函数。封装的优点:1.数据独立(如每件事物都对应于

7、一对象)2.具有隐藏性和安全性(如银行的帐户)3.易于维护(由于数据独立,易于发现问题)封装的缺点:1.4继承性(inheritance)特殊类具有普通类的所有特性和服务是类之间的一种关系是OOP的要点之一什么是继承:继承的特点:设A为基类,B为派生类。1.共享性:派生类具有基类所有特征,即:AB2.区别性:派生类不等于基类,即A≠B3.层次性:表示了类之间的关系例7:车辆的继承关系车辆非机动车客车卡车轿车机动车例8:人类按职业划

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。