`

平时所说的面向对象编程OOP是什么

阅读更多
话说现在很多面试要求中都写着要有oop的思想。思想是指真正在处理
编程问题时的思路,这个只有给出实际的问题才能被证明你到底有没有面向对象的思想。
这里我只想说下理论,最近在看书,在想一个问题,如果面试中面试官只是让你谈谈对
面向对象的认识。你能说多少。
书中的说法大概能罗列下来的这么多,自己鹦鹉学舌般抄录下来,略加自己的想法。
1.万物皆对象
2.程序是对象的集合,他们通过发送消息(方法调用)来彼此通信
3.可以通过包含现有对象来创建新对象
4.每个对象都是某个类的实例,即对象都拥有类型
5.某一特定类型的所有对象都可以接受相同的消息通信
------------------------------------------
java中更具体点面向对象编程有哪些东西?
1.每个对象都有一个接口。(这里接口是个抽象的概念)
   接口:某一特定对象所能发出的请求。
           不能发送任何请求的对象是没有接口的。换句话来说,不跟任何人交往的人肯
           定是个孤独封闭的人一样。这种人不受欢迎。那么这种对象在程序中就是无效
           的对象。
2.每个对象都提供服务。
   在程序中,将所有对象看作是服务提供者,而程序本身是向用户提供服务的。程序通过
   调用其他对象提供的服务来实现目的。在设计程序时将对象看作是服务提供者,是一种
   简化,有利于提高对象的内聚性,当其他人试图理解或重用你的代码时,如果他们看出
   了这个对象所提供的服务的价值,就会在调整对象以 适应他们的程序设计的过程中变的
   非常简单。
3.对对象设立访问权限。
    对象中的有些细节是不必被调用者所知道的,需要将它们隐藏起来。同时也方便该对象
    的类的设计者修改实现细节,达到接口和实现清晰的分离。
4.复用具体实现
    创建新类的时候可以组合任意数量,任意类型的其他对象,以实现新的类中想要完成的
    功能的方式组合。这种代码复用被称为组合,也是面向对象程序设计语言中最了不起的
    特性之一。
5.继承
     新的类型通过继承现有类型就能达到创建一个新类的功能。新类能具有相同的接口,但
     是新类可以添加新的方法,提供更多的接口。继承的接口中,通过重写(覆盖)方法,可
     以达到在相同的接口中,做不同的事情的效果。
6.多态
     这个有两个重要的概念,向上转型和动态绑定。向上转型保证代码中的类型是当作基类
     来对待的,这样就不会依赖特定类型。动态绑定是运行时才确定被调用的方法的方法体
     地址,这个地址是根据对象中存储的信息计算而得到的,所以每一个对象都有不同的行为
     表现。当向这个对象发送消息时,该对象就能知道这条消息应该做什么。这样一个基类
     看起来有不同的行为表现。就被称为多态。多态不就是多种形态吗。
6.容器
     一般的oop语言里都有一组容器,他们作为开发包的一部分。这种新的对象持有对其他
  对象的引用。对编程有点基础的话,很快意识到数组不就可以吗!数组只是容器中的一个
  小部分而已。还有其他类型的容器。设计这么多的容器完全是为了满足我们解决问题的各
  种需要。  虽然我们最终只要一种持有 对象的序列而已。
7.参数化类型(泛型)
8.对象的创建和生命周期
9.异常处理


总之,面向对象的核心就是多态,抽象,封装,复用(包括继承和组合),接口等东西的综合
体,我们平时遇到的java框架中,有大量的对象。他们就是面向对象编程的最好实践。如果
自己有兴趣完全可以去看看一些开源的框架。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics