首页 > 编程语言 > 详细

java--OOP(面向对象编程)理念

时间:2015-09-30 23:18:05      阅读:397      评论:0      收藏:0      [点我收藏+]

Object   Oriented   Programming   (面向对象的程序设计)

1、定义

面向对象程序设计(OOP)的具体定义很难下,也很容易因此而引起争论,在   Object-Oriented   Frequently  Asked   Questions   (OO   FAQ)   中就有好几种不同的定义。这里就按照   Grady   Booch   [1994]   的定义:“面向对象程序设计是程序结构的一种实现方法,在这种方法下,程序由互相协作的对象组成,这些对象是某个类的实例,而这些类又是通过继承关系组成的类的分级结构的成员。”

2、要素

面向对象的设计(object   oriented   design)都包含以下几个要素:  
   
  •   对象(Object):包含一定的数据结构和状态的实体。  
  •   操作(Operation):作用于对象的行为,如访问和处理对象的状态。  
  •   封装(Encapsulation):定义对象和操作,只提供抽象的接口,并隐藏它们的具体实现。  

          Ada   83   已经支持上述3个特性,因此被称为基于对象(oriented-based)的语言;但面向对象程序设计经过十年的发展,   Ada95   基于上述要素又增添了以下两个   Ada83   不支持的要素:    

  •   继承(Inheritance):通过继承现有类型的性质,创建新的数据类型,而不影响原有数据类型。  
  •   多态性(Polymorphism):判定数据类型集合中各类型的区别,使程序可以按照它们的共同特性来书写。  
          对新特性的需求是由三份报告[Dod   1990]指出的,具体见   Ada   Rantinale   的   Part  Two-   4   Object   Oriented   Programming--   4.1   Background   and   Concepts,可以更好的理解继承和多态性。  
   
          OOP 的继承从理论上讲是模仿人的思考方法,将对象分类,如:car,bus   这两个数据类型是从数据类型vehicle   继承而来的,它们作为   vehicle   的一类,自然继承了   vehicle   的特性,同时具有自身独有的特性;而   wheel   却不是   vehicle   的一类,只是   vehicle   的一个组成部份,因此不是从   vehicle   继承而来。同样,vehicle   有一些操作,如   start,reverse,   car和bus也继承下来,如果必要,也可加上自己独有的操作,如   drive_at_200mph。但在实际程序中,人们往往忽视了面向对象的内涵,甚止于   C++   这些语言玩了好几年,也只是用上了面向对象的语法,而没有形成面向对象的思考方法。

java--OOP(面向对象编程)理念

原文:http://www.cnblogs.com/sdgf/p/4850422.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!