面向对象

面向过程

  • 在面向过程的眼中,世界的一切都不是孤立的,它们相互紧密联系在一起,缺一不可,相互影响,相互作用,并形成一个个具有严格因果律的小系统;而更多的小系统组成了更大的系统,所有小系统之间的联系也是紧密和不可分割的。
  • 面向过程方法认为我们的世界是由一个个相互关联的小系统组成的,每个小系统都有着明确的开始和明确的结束,开始和结束之间有着严谨的因果关系。只要我们将这个小系统中的每一个步骤和影响这个小系统走向的所有因素都分析出来,我们就能完全定义这个系统的行为。
  • 通常,面向过程的分析方法是找到过程的起点,然后顺藤摸瓜,分析每一个部分,直至达到过程的终点。这个过程中的每一个部分都是过程链上可不分割的一环。
  • 将世界视为过程的这个方法本身蕴含着一个前提假设,即这个过程是稳定的,这样我们才有分析的基础,所有的工作成果都依赖于这个过程的步步分析。同时,这种步步分析的过程分析方法还导致另一个结果,即过程中的每一步都是预设好的,有着严谨的因果关系。
  • 面向过程的编程,以面向过程的思想设计程序,以过程为中心,建立软件系统。

面向对象

  • 面向对象方法将世界看作一个个相互独立的对象,相互之间并无因果关系,它们之间平时是“鸡犬之声相闻,老死不相往来”的。
  • 只有在某个外部力量的驱动下,对象之间才会依据某种规律相互传递信息。这些交互构成了这个生动世界的一个“过程”。在没有外力的情况下,对象则保持着“静止”的状态。
  • 面向对象方法和面向过程过程根本的不同,就是不再把世界看作是一个紧密关联的系统,而是看成一些相互独立的小零件,这些零件依据某种规则组织起来,完成一个特定的功能。原来,过程并不是这个世界的本源,过程是由通过特定规则组织起来的一些对象“表现”出来的。
  • 面向对象的编程,在基于对象的概念上,将现实生活中的现象,以对象为中心,建立软件系统。

面向对象的三大特性

封装
  • 表现:函数就是一个最基本的封装体,类也是一个封装体
  • 特点:隐藏属性,提供对外访问的方法
  • 好处:
    • 提高了代码的复用性
    • 隐藏了实现细节,但可以对外提供可访问的方法
    • 提高了安全性
继承
  • 继承表示存在于面向对象程序中的两个类之间的一种关系,当一个类自动拥有另一个类的所有属性(域和方法)时,就称这两个类之间具有继承关系,被继承的类称为父类(或超类),继承了父类的类被称为子类
  • 父与子之间的关系:
    • 共享性:即子类可以共享父类的域和方法
    • 差异性:即子类和父类一定存在某些差异
    • 层次性:即由JAVA规定的单继承性,每个类都处于继承关系中的某一个层面
  • 继承的主要优点:
    • 程序结构清晰
    • 编程量少
    • 易于修改和维护
多态
  • 概念:对象的多种形态
  • 引用多态:
    • 父类的引用可以指向本类对象
    • 父类的引用可以指向子类的对象
  • 方法多态:
    • 创建本类对象时,调用的方法为本类方法
    • 创建子类对象时,调用的方法为子类重写或继承的方法

面向对象的定义

  • 面向对象是基于面向过程的,将过程进行了对象的封装
  • 思想:万物皆对象
  • 好处:
    • 面向对象是一种更符合人们思考习惯的思想
    • 面向过程更多的体现是执行者,而面向对象更多的体现是指挥者
    • 面向对象将复杂的问题简单化
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 中午在易践行群有了很大,收获截图分享。 如果对你有所触动,一定要告诉我呀。 我是通过永安住宿的这个案例有所触动的。...
    清理放下阅读 1,176评论 0 0
  • 《不好意思说不》美玲是六年级的一个小女生。她给人的印象是一个和蔼可亲,美丽大方,容易亲近的孩子。当别人提出不合理的...
    平常心666阅读 559评论 0 1
  • 说句实话,在上高中之前,我都是一个性格内向,且是一个自卑的人。样子长得没人家帅;成绩没人家好;东西学得没人家快;口...
    不服输的王小春阅读 2,047评论 2 1