`
huang5787826
  • 浏览: 45831 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
文章分类
社区版块
存档分类
最新评论

面向对象编程的基本概念

阅读更多
  主要介绍面向对象编程的基本概念,如对象、消息、类等,最后介绍面向对象编程的基本特征。

  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)是指一个名字可具有多种语义,可以使一个父类访问其子类的方法。
分享到:
评论
1 楼 cectsky 2010-12-27  
这种东西写博客好了,发帖。。。

相关推荐

    plc面向对象编程架构与实现

    在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只...

    《C#面向对象程序设计》源代码(CS)

    本书以面向对象的软件工程思想为主线,细致深入地讲解了C#语言面向对象程序设计的方法和技巧,内容涵盖面向对象的基本概念、基于接口的设计、泛型程序设计方法、Windows和Web应用开发,以及数据库访问技术。...

    面向对象程序设计课程设计——学生成绩管理系统

    全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类、对象、继承与派生、多态、虚函数、模板、流类库等。遵循软件过程的各个环节进行系统分析、设计、...

    面向对象程序设计与VC程序设计入门

    面向对象程序设计与VC程序设计入门 C++基本概念

    函数模板_面向对象程序设计

    函数模板_面向对象程序设计 基本概念 函数模板 类模板

    Java与UML面向对象程序设计.pdf

    接下来的章节让您对面向对象编程的实践方面有较好的了解。第7章介绍了设计模式。第8章介绍软件重构。第9章简要介绍针对大规模和小规模的面向对象软件项目以及当前的一些主要开发方法。第10章介绍当前一些面向对象...

    Java面向对象程序设计与系统开发面向对象开发基本概念PPT教案学习.pptx

    Java面向对象程序设计与系统开发面向对象开发基本概念PPT教案学习.pptx

    面向对象程序设计方法

    面向对象程序设计方法综合试题,请按照你所选中的题号,任选一题给予解答,要求如下: A. 请分析你所选中编程问题,按照面向对象的概念给出功能设计方案(25分) B. 请分析你所选中编程问题,给出该程序的界面设计...

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

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

    java面向对象编程指南

    本书将面向对象的基木概念和Java程序设计语言原理有机地结合起来,通过对象概念加深对Java程序设计语言基本机制的理解,通过Java语言又生动地描绘出面向对象思想的实用价值,这是一本相当新颖的Java和面向对象问题的...

    Python入门教程完整版(懂中文就能学会)资料面向对象讲义1.pdf

    面向对象 面向对象(OOP)基本概念 基本概念 面向对象编程 面向对象编程 —— Object Oriented Programming 简写 OOP 目标 目标 了解 面向对象 面向对象 基本概念 01. 面向对象基本概念 面向对象基本概念 我们之前学习...

    面向对象程序设计

    本课程是应用数学专业、计算机专业的一门专业专业必修课。要求:  掌握面向对象程序设计的基本概念和基本原理,熟练掌握一种面向对象程序设计语言,并掌握其开发方法和技术。 

    UML与面向对象程序设计

    介绍面向对象程序设计基本知识及uml基本概念.

    《C++面向对象程序设计》的源码

    全书分为12章,第1章首先介绍面向对象程序设计的思想和基本概念,以及C与C++的关系;在第2、3、6章介绍C++类、对象、重载的概念及使用方法;第4、5章详细介绍常量及变量的生存期与作用域;第7、8章详细讲解类的继承...

    面向对象程序设计方法的基本概念

    软件设计师系列视频 面向对象程序设计方法的基本概念

    Java面向对象程序设计(清华版)压缩卷3

    本书综合介绍了Java语言编程技术和面向对象程序设计两部分内容,在讲授Internet上最流行的编程语言Java的同时,还介绍了它所采用的面向对象技术的基础理论、主要原则和思维方法。本书内容翔实全面,涵盖了从基本概念...

    面向对象程序设计术语表

    面向对象开发的术语表,描述了在面向对象开发中一些基本概念是什么。

    Java面向对象编程指南

    《Java面向对象编程指南》将面向对象的基本概念和Java程序设计语言原理有机的结合起来,通过对象概念加深对Java程序设计语言基本机制的理解,通过Java语言又生动的描绘出面向对象思想的使用价值,这是一本相当新颖的...

    《C#面向对象程序设计》 PPT

    本书以面向对象的软件工程思想为主线,细致深入地讲解了C#语言面向对象程序设计的方法和技巧,内容涵盖面向对象的基本概念、基于接口的设计、泛型程序设计方法、Windows和WPF窗体界面、文件和数据库访问,以及ASP...

    Java的面向对象编程基本概念学习笔记整理

    主要介绍了Java的面向对象编程基本概念学习笔记整理,包括类与方法以及多态等支持面向对象语言中的重要特点,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics