美文网首页
程序人生——面向对象01-抽象

程序人生——面向对象01-抽象

作者: 修行想飞的鱼 | 来源:发表于2017-09-20 06:12 被阅读0次
抽象,我真不懂

面向对象我们谈论的最多的是什么?我估计应该是经常挂在嘴边的封装、继承、多态了。但是,这些方法说白了都是针对业已分析规划好的类的一种具体的实现方式,可以把封装、继承、多态归结到工具的范畴。

类的关系

通过上面的图,我们很容易的可以使用封装、继承、多态等方法实现各个功能模块。现在有一个问题,这张图是怎么来的?为什么要划分成这几个类,而不是另外的几个类?有什么依据?我们可以使用诸如单一职责,迪米特法则,针对接口编程等各种理由来解释,但是这依旧没有解决类为什么要这么划分的问题。这个问题目前暂时还回答不了,后面会逐渐提到。

现在有个非常重要的问题,那就是如何获取现实世界到计算世界的映射了。要把现实世界的哪些东西映射进来,如何映射?这就是所谓的抽象了。抽象首先又层次的问题,哪些东西需要在抽象的时候考虑?哪些东西不要考虑?比如对淘宝网站做一个高层次的抽象,就是一句话的描述,一个物品交易网站。如果你把抽象层次降低就可以看到订单处理系统、物流跟踪系统、客服系统等等。这就像是从远处眺望、近处观察、放大镜、显微镜...等等一系列的过程了。

抽象也有角度的问题,从不同的角度出发你认识到的东西是不一样的,我自己感觉其实我们抽象完成的类是真实世界物体在计算机世界中的投影,被抽象的东西是真实存在的,无论是有形的物还是无形的过程,我们其实关心的只是与我们系统有关系的那部分样貌。

通过对现实世界的业务建模、概念建模、系统建模、设计建模,层层递进抽象,摒弃系统不关心的方面,最后在计算机世界中搭建起一个“微缩的小世界”。

现在我们还有一个问题,如何证明我们的抽象是好的?因为有时候自己问自己为什么要这么做,不那么做,都回答不上来,只能模棱两可的告诉自己这也许就是经验吧!

相关文章

  • 程序人生——面向对象01-抽象

    面向对象我们谈论的最多的是什么?我估计应该是经常挂在嘴边的封装、继承、多态了。但是,这些方法说白了都是针对业已分析...

  • 面向对象伊始

    类的定义 面向对象:就是将生活中的对象抽象到程序中生活中的对象,就得把生活中的思想抽象到程序中 1.面向对象:类和...

  • 【python】面向对象

    面向对象编程面向对象的设计思想是抽象出Class,根据Class(类)创建Instance(实例)。面向对象的程序...

  • 第一章 对象导论

    1.1 抽象过程 面向对象程序设计(opp) 面向对象语言的五个基本特性: 万物皆为对象。 程序是对象的集合,它们...

  • [iOS]面向对象

    面向对象 面向对象是一种程序设计的范型,同时也是一种程序开发的方法。面向对象是将现实世界中的事物抽象成对象,现...

  • 第一章 为什么需要UML

      面向对象的精髓在抽象;面向对象的困难在抽象;面向对象的成功在于成功的抽象;面向对象的失败在于失败的抽象。  对...

  • 阿里编程规约之OOP规约

    “面向对象的精髓在抽象,面向对象的困难在抽象,面向对象的成功在于成功的抽象,面向对象的失败在于失败的抽象。正所谓成...

  • 1、对象导论

    一、抽象过程 所谓的“类型”是指“抽象的是什么?” 面向对象程序设计方式1、万物皆为对象2、程序是对象的集合,他们...

  • 2019-04-04 C++学习笔记之类和对象(上)

    参考资料:《21天学通C++》、《C++语言程序设计(第4版)》 面向对象程序设计的基本特点 抽象 面向对象方法中...

  • Java编程思想--第1章 对象导论

    1.1 抽象过程 面向对象程序设计(Object-oriented Programming, OOP) 1.2 每...

网友评论

      本文标题:程序人生——面向对象01-抽象

      本文链接:https://www.haomeiwen.com/subject/tfomsxtx.html