您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象程序设计01-2.抽象与对象
《面向对象程序设计》认识对象内容提要问题的抽象一切事物皆是对象面向对象技术概述C++简介3问题的抽象以功能为中心的抽象(过程抽象)以对象为中心的抽象(数据抽象)4问题的抽象以功能为中心的抽象以功能为中心的抽象就是用功能的观点来看世界,将现实世界的问题抽象为功能和子功能。以功能抽象为基础的结构化程序设计,围绕实现“面向过程”的功能来构造系统。其基本原理是采用自顶向下、分而治之、逐步求精的原则,将所要解决的问题按功能分解成许多的子问题,这些子问题可以继续分解,直到分解为一些易于控制且功能独立的模块为止。5问题的抽象以功能为中心的抽象用功能抽象的方法构建系统的结构图如图1-1所示。6问题的抽象面向过程程序设计一种以功能为中心、基于功能分解的程序设计范型。一个过程式程序由一些子程序构成,子程序描述了一系列的操作,每个子程序对应一个子功能,它实现了功能抽象。过程式程序的执行过程体现为一系列的子程序调用。数据处于附属地位,它独立于子程序,在子程序调用时作为参数或全局变量传给子程序使用。程序=函数/算法+数据结构7主程序函数1函数2函数3函数4函数5函数6函数7函数8面向过程程序设计的典型结构8全局数据函数1函数2函数3局部数据局部数据局部数据全局数据面向过程程序设计中数据和函数的关系9问题的抽象面向过程程序设计特点强调功能(算法)实现大程序分解成函数等小模块大多数函数共享全局数据系统中数据可在函数间公开传递函数加工处理数据,使其形式发生变化程序设计依据自顶向下原则10问题的抽象以对象为中心的抽象以对象为中心的抽象是用对象的观点看世界。将现实世界的问题抽象为离散的、相互通信的对象集合。这些对象可以看作是一个自治的主体,每个对象都有其静态属性和动态行为,而且每一个对象都是模拟了真实世界中的某个对象。在这里,功能并不是一个独立的存在,而是一个包含在对象内部的相关操作。为完成一个特定的任务,对象之间通过发送消息完成相应的功能。11问题的抽象以对象为中心的抽象12问题的抽象面向对象程序设计一种以对象为中心、以消息驱动对象执行相应操作的程序设计范型。一个面向对象程序由一些对象构成,对象封装了数据及可施于这些数据上的操作,对象间相互发送消息完成系统功能。面向对象程序的执行过程体现为各个对象之间相互发送和处理消息。程序=对象/类+对象/类+…对象/类=数据(属性)+函数(操作)13函数数据数据数据函数函数对象A对象B对象C面向对象程序设计中数据和函数的组织结构14问题的抽象面向对象程序设计特点更关注数据,而不是过程程序分解成实体对象设计数据结构表示对象数据被隐藏在对象中,不可由外部函数访问作用于对象的函数也放于对象中对象间通过发送消息(函数调用)通信程序设计依据自底向上原则15一切事物皆是对象对象类属性、操作、方法消息16一切事物皆是对象对象对象的定义:对象(object)是问题域中一些事物的抽象,是一些属性、操作和方法的封装体,它具有唯一标识。一个对象至少包括以下几个部分:有一个和其它对象区分开来的唯一性标识;有一组属性描述对象静态特征;有一组功能表达对象动态行为。17一切事物皆是对象一部移动电话,它是现实世界中的一个实体。它由天线、发射部件、接收部件、显示屏、按键、专用集成电路芯片及外壳组成;它有着其实在的功能,可以打电话,可以发短消息,可以存储、输入和编辑各种个人信息,甚至可以上网。这样一个实体可以在计算机世界中映射为一个计算机可以理解、可以操纵、具有前面所叙述的属性和操作的对象。18一切事物皆是对象一辆自行车,它由车架、车轮、脚踏和传动机构、变速机构等组成,它具有代步功能,它可以进行变速骑行,刹车,特别要强调的是它有一些特征可以把你的这辆自行车与其他自行车区分开来,其中最重要的是钢印号。这些都可以在面向对象的程序中用对象及其属性和操作模拟出来。19一切事物皆是对象学生:张三对象标识:对象名student_1对象属性:name=张三number=00123456age=20major=Physics........对象操作:SelectClass(class_math);.......20一切事物皆是对象对象对象之间是通过消息(message)互相进行通信的。消息是从一个对象(发送者)向另一个或几个其他对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。对象在通信时,无须知道对方数据或操作的细节,只要知道交互的消息类型就够了。21一切事物皆是对象对象对象是有生命的,每个对象都有自己的生命周期,即从出生(创建)、生长(活动)到灭亡(删除)。在计算机中,对象的创建是指在计算机内存的程序数据区中为该对象分配一个空间;对象的活动是指对象能自主地运行,并且可以接收消息并加以处理,或通过处理外来消息改变自身状态,对象也可以向其它对象发送消息等;对象的删除是指当对象的使命完成后,可以在存储器中将其占用的存储空间置为无效并回收。22一切事物皆是对象类类的定义:一组具有共同的静态特征和行为特征的对象集合。类和对象是抽象和具体的关系。从实现角度,类是某种数据类型,对象是该类型的变量,一旦定义了一个类,就可以创建该类的任何数量的对象。每一个对象都对应于一个类。23一切事物皆是对象类对于同一类的不同对象之间,具有如下特点:相同的属性;相同的操作和方法;不同的对象名;不同的属性值(对于那些可以改变的属性)24学生学号姓名年龄性别身高体重…选课唱歌打篮球…学生12010001李强19男17565…选课唱歌打篮球…学生22010026张芳19女16850…选课唱歌打篮球…25一切事物皆是对象属性、操作、方法1.属性属性(attribute)是类和对象中的静态特征。在面向对象程序中用一个数据单元表示属性。属性可以用属性名、类型、可修改性、多重性、可见性进行描述,属性可以有初始值。对于可修改的属性,可以改变其属性值。26一切事物皆是对象属性、操作、方法2.操作操作(operation)是对象执行某种功能的规格说明。例如,窗口类具有“打开”、“关闭”、“移动”、“隐藏”等操作。窗口类中的各对象可以共享这些操作。在面向对象程序中通常是用一个函数或过程的原型(声明)表示操作。操作在类中声明,它可以用操作名、参数列表、返回值类型、可见性等来描述。27一切事物皆是对象属性、操作、方法3.方法方法(method)是操作的实现,是说明生成操作结果的算法或过程。如果一个操作有方法实现,这种操作称为具体操作;否则,称为抽象操作。在面向对象程序中通常是用一个函数或过程的定义(函数体或过程体)表示方法。28一切事物皆是对象消息消息(message)是从一个对象(发送者)到另一个对象(接收者)的信息传递。例如,消息可以是一个对象(调用者)对一个对象(被调用者)操作的调用。被调用者接收到调用者传递过来的消息时,激活相应的方法(操作的实现)。方法中的过程执行完后,调用者收回控制,并可以得到方法处理的结果。面向对象的程序在完成一个特定的任务时,需要多个对象之间相互协作,这时就会产生针对这个任务的一组特定的消息,即消息序列或消息流。29一切事物皆是对象消息消息传递是对象之间相互联系的唯一途径。发送者发送消息,消息中只需要包括消息的接收者和要求接收者执行哪项操作的请求,并不说明应该怎样做。接收者收到消息,通过调用相应的方法,执行具体的操作过程,来响应消息。上述过程不断地重复。面向对象程序是消息驱动的。
本文标题:面向对象程序设计01-2.抽象与对象
链接地址:https://www.777doc.com/doc-3354270 .html