浏览 1839 次
锁定老帖子 主题:面向对象编程的基本概念
精华帖 (0) :: 良好帖 (0) :: 新手帖 (11) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-27
主要介绍面向对象编程的基本概念,如对象、消息、类等,最后介绍面向对象编程的基本特征。
1. 对象 在面向对象编程中,对象(Object)是一个基本的概念,它是理解面向对象技术的关键。 客观世界都是由客观世界的实体以及实体间的相互关系构成的,我们可以将客观世界的实体称作客观世界的对象,例如一本书、一辆汽车、一台计算机等都可看作一个对象。客观世界的对象都具有两个特征:状态和行为。例如将二台计算机看作一个对象,计算机的内存大小、CPU速度、硬盘大小、显示器尺寸等特征都可看作计算机的状态,可利用计算机编程、听音乐、上网、收发电子邮件等,这些可看作计算机的行为。 在软件开发过程中,可以模拟客观世界的对象,建立软件对象。软件对象将数据保存在变量中作为该对象的状态,而软件对象的行为则可通过方法实现。例如将一个订单处理系统看作一个对象,可将货物、订单、发货地址、收货人、货物金额等信息看作订单系统这一对象的数据,而将处理订单信息的方法看作该对象的行为,这样就可以建立一个订单处理系统的对象。 综上所述,可将对象看作数据和方法的结合,数据表示对象的状态,方法表示对象的行为。 2. 消息 一般来说,一个对象并不是孤立的,它往往和其他对象相互作用、相互联系.那么对象和对象之间是如何进行联系的呢?对象之间的联系主要是通过消息来实现的,消息主要用于请求对象执行某一行为或响应某些信息的要求,信息统一了对象之间的数据流和控制流。发送消息的对象称为消息的发送者,接收消息的对象称为消息的接收者。 一个消息通常由如下3部分组成: (1)消息的接收者。 (2)接收对象应执行的方法的名称。 (3)方法所需要的参数。 当一个面向对象的程序运行时,一般需做如下3件事: (1)创建对象。 (2)程序接收消息或响应用户输入时,将消息传递给方法,执行应采用的方法。 (3)当不需要该对象时,则删除该对象,并释放其占用的存储空间。 3. 类 在客观世界中,有一些具有相同状态和行为的对象,可以将其归为一类以便进行管理。例如某台计算机仅是世界上千千万万计算机中的一台,每个计算机都有内存大小、CPU速度、硬盘大小、显示器尺寸等特征,每台计算机都可进行编程等行为。 在面向对象编程中,可以将具有相同特征的对象归为一类,称之为类(class)。类是一种复合数据类型,它实质上是对具有相似特征的对象的一种抽象,它包含了某种类型的所有变量和方法。例如Double是一个类,它描述了所有双精度浮点数的性质,如23.124,6.254158等均为这个Double类的对象,都能进行算术运算。 在面向对象编程中,对象实际上是由所属的类生成的,它实际上是类中的一个实例,生成实例的过程称为一个对象的实例化。当创建了一个类的实例时,系统将自动为这一对象分配内存空间,然后就可以执行该对象的方法完成某种操作。 一个类可以生成多个不同的对象,同一个类的所有对象都具有相同的特性。一个对象的内部数据只能由该对象的方法来改变,而任何其他的对象都无权对其进行修改。 4. 面向对象编程的基本特征 面向对象编程具有三种基本特征:封装性、继承性和多态性。下面来分别介绍这三种基本特征。 (1)封装性 封装性是面向对象编程的优点之一。所谓封装(Encapsulation)就是对数据的隐藏,将一个对象的数据加以包装并置于该对象的方法的保护之下,用户和其他对象只能看到对象封装界面上的信息,对象内部对用户来说是透明的。 面向对象编程中,程序和对象之间的数据交互是通过接口来实现的,访问该对象的数据只能通过该接口,任何其他外部对象和程序若不通过该接口则无权访问。这样,封装可以阻止一部分程序的设计错误,保证对象内数据的安全性。 封装还有一个目的,可以将类的使用者和设计者分开,类的使用者不必知道实现的细节,只需知道对象定义的方法即可。 (2)继承性 继承(Inheritance)是面向对象编程中的一个重要特性,通过继承,一个子类可以直接使用其父类(超类)的所有属性和方法。它可以减少相似类的重复说明,使程序员只需对一些相同的操作和属性在父类中说明一次,就可以使其子类扩展这些操作和属性。 例如对于汽车这一个类,可以设计一个名为car的类,该类具有速度、每百公里耗油量、价格等一些属性,它还具有刹车、加速、减速等行为。通过该类,可以创建该类的两个子类:卡车和小轿车。这两个类可以继承汽车这个类的特征,无需重新建立两个不同的类,只需继承汽车这一个类,然后在该类的基础上分别进行扩展即可。 (3)多态性 多态性(Polymorphic)是指一个名字可具有多种语义,可以使一个父类访问其子类的方法。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-12-27
这种东西写博客好了,发帖。。。
|
|
返回顶楼 | |