`
gengu
  • 浏览: 85138 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

再次理解下OOP(读书笔记)

    博客分类:
  • java
 
阅读更多

     目前的主流开发领域有两种开发方法,即结构化开发方法和面向对象开发方法,早期的语言C,Basic等都是结构化编程语言。


     结构化程序设计


      结构化程序设计方法主张按照功能来分析系统需求,其主要原则可概括为自顶向下,逐步求精,模板化等,结构化程序设计首先采用结构化分析方法对系统进行需求分析,然后采用结构化设计方法对系统进行概要设计,详细设计,最后采用结构化编程方法来实现系统。

      因为结构化程序设计方法主张按照把软件系统逐步细分,因此这种方法也叫做面向功能的程序设计或者面向过程的程序设计。

      结构化程序设计里最小的程序单元是函数,每个函数都负责完成一个功能,用于接收一些输入数据,函数对这些输入数据进行处理,处理结束后输出一些数据,整个软件系统由一个一个函数组成,其中程序入口的函数被称为主函数,主函数一次调用其他普通函数,普通函数之间一次调用,从而完成整个系统的功能。


     那么为什么要使用面向对象编程呢?是因为结构化程序设计有两个局限性


     1:设计不够直观,与人类的习惯思维不一直,采用结构化程序设计,开发者需要将客观世界模型分解成一个一个功能,每个功能用以完成一定的数据处理。

     2:适应性差,可扩展性差,由于结构化设计采用自顶向下的设计方式,所以当用户的需求发生改变,或需要修改现有的实现方式都需要自顶向下的修改模块结构,这种方式的维护成本很大。


     面向对象 程序设计


     面向对象是一种更加优秀的程序设计方法,它的基本思想是使用类,对象,继承,封装,消息等基本概念来进行程序设计,它是将现实世界模拟成一个系统,将现实世界中客观存在的事物模拟成系统中的对象,并在系统构造中尽可能的使用人类的自然思维方式,强调直接以现实世界中的食物为中心来思考问题,认识问题,并根据这些食物的本质特点,把他们抽象表示为系统中的类,作为系统的基本构成单元,这使得系统可以直接映射客观世界,并保持客观世界中事物及相互关系的本来面貌。

     开发者从自己使用的角度或认识角度出发来定义类,就是说,我们定义类的目的是希望模拟客观世界的某种事物,并让自己明白这种食物是用来干嘛的,对我们有什么意义,这就是面向对象方式的主要思考方式,因此面向对象程序设计的主要优点是:与人类的思维方式一致,稳定性好,可重用性好,易于开发大型软件产品,可维护性好。


     面向对象编程的主要有三个特征:封装,继承,多态。

     继承 是面向对象实现软件复用的重要手段,当子类继承父类以后,子类作为一种特殊的父类,将直接得到父类的属性和方法。

     封装 只的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能,通过封装可以增加程序良好的复用性。

     多态 是指子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着这个类型的对象在运行时可能表现出不同的行为特征。

     除此之外,抽象也是面向对象的重要特征,抽象就是忽略一个主题中与当前目标无关的那些方面,以便更加充分的注意与当前目标有关的方面,抽象并不是打算了解一个对象的方方面面,它只关注对当前目标相关的那些部分。


    在java中,有一个核心思想那就是:一切都是对象。出了八个基本类型之外,其他的都是对象,不仅仅是事物,它还能表示一个规则一个计划一个事件等等.


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics