zoukankan      html  css  js  c++  java
  • 你真的应该懂面向对象

    1.-面向对象和基于对象的分别

    所谓基于对象,就是用对象,能封装对象,把状态和操作包装起来使用.但是不能通过多态扩展对象.

    面向对象是附加多态功能的"基于对象".

    2.面向对象和面向过程的分别.

    最本质的差异是关注的侧重点不同.面向对象关注活动中的对象,面向过程关注活动中的流程.从根本上来说,两种思想会共存和相互渗透.

    3.面向对象的基本设计思想

    a.自己管好自己

    b.自己管得过多,就委派给别人

    c.不侵犯别人的领地

    d.不依赖特定的对象,不猜测对方的实现机制

    高级议题,面向对象的各种常见观念:

    1.面向对象的原教旨

    它认为对象之所以存在,因为他客观存在.

    比如什么猫,狗,飞机之类的.

    但是我认为对象并不客观存在,而在于你主观的设计如何.比如同学继承于人类之类的,或者班级由学生组成之类的,可以存在,也可以不存在,在于你主观的设计,并不存在一种恰如其分,因为存在所以存在的必然性.

    你可以设计一个飞猫,比狗还大的猫,只要你喜欢.

    原教旨给我们的财富是,建立易于理解的概念.

    2.设计模式是有害的

    设计模式是一种招式,很华丽的招式.招式应该服从于设计理念,而不是将你的设计改造成这些招式.

    3.面向对象为什么是可行的设计

    面向对象最重要的设计能力在于哪些,主要有如下:

    a. 将修改集中, 多态是最有力的工具.因此,在对象之间应该用多态的模式关联起来,而不是把代码写死.

    b.封装减少无益的暴露.减少依赖,关联越多,修改的几率越高,对将来的改动越困难.

    c.面向对象并不阻止修改,反而,面向对象更加欢迎修改,更易于修改,正是这种强大的进化能力,让程序可以适应需求的不断发展.当然,要用恰当的方式去修改.

    d.用替换法去修改程序: 先建立一个新的对象,然后替换系统原有的对象,而不要直接去修改原有的对象.原因有两个,一,你旧有的对象对旧系统是有效的.二.你新对象是不成熟的.

  • 相关阅读:
    Tips——RN HTML两端通信
    Tips——RN如何动态地添加删除组件
    Tips——RN webview如何实现首次加载自动登录及后续定时登录
    Between Us 1 生命的起源
    获取当前工作路径和当前模块路径
    从标准输出和读入
    字符串赋值操作
    char,string和CString转换
    字符串结束标志
    Lenovo GTX960M 配置CUDA
  • 原文地址:https://www.cnblogs.com/Nobel/p/2043232.html
Copyright © 2011-2022 走看看