传智播客——老毕说万物皆对象

来源:互联网 发布:lookalike人群算法 编辑:程序博客网 时间:2024/06/12 00:56

要不然怎么说老毕牛呢,老毕常年累月的面向对象啊,面向对象,终于在某一天的早晨:天下万物皆对象。

  老毕还自鸣得意的说这是种境界。

  老毕者谁,中国软件业摸爬滚打披荆斩棘数十载的开山怪啊,已然能把天下万物看成女人,岂是我们这些凡夫俗子所能及的,我们除了望尘莫及只能昂首仰视啊。

  可毕竟我们这帮小白还是需要吃饭的啊,不能像老毕一样不食人间烟火啊,我觉得解释面向对象上还是boss张在他的那本《java就业培训教程》上解释的很适合小白。

  我大体归纳下

  软件设计思想分为面向过程和面向对象,在早期比如c语言横行的时候,都是用面向过程思想来编写软件,但这种思想不符合人类的思考习惯,(至于怎么不符合,我也不了解,只知道c语言的调用函数让人头皮发麻)后来人们就开始用面向对象思想来指导软件开发,面向过程是调用函数,面向对象是调用对象,这在我们小白眼里看不出任何区别,都是调用啊。

  就在这千钧一发的时刻,boss张横空而出为众小白指点迷津:面向过程重点在谓语,怎么做,面向对象重点在主语,谁来做。

 好吧我坦白,上面这句话我也不是很明白,但以我的智商上限还是能感觉到这句话归纳的极度精辟。

 于是乎我在boss张的面向对象思想的基础上在老毕万物皆对象思想的指引下开始用面向对象的思想观察世界,桌子是对象,椅子是对象,这个是对象那个是对象,这个,,这个可以是对象,“我不是对象”前台姐姐大吼:“我是你前台姐姐”。

 

  屁大的事老毕都爱冠以思想,引众小白趋之若鹜。

  面向对象的三个特点:封装,继承 ,多态。

  被老毕熏了两天了,自己总结下想法。

  封装的意思就是需要让别人看到的就暴露,不需要的就隐藏。

  继承的意思就是代码复用,但老毕说这是小白。

  多态,我的看法还是代码复用,老毕说还是小白。

  老毕的思想之一:提炼名词思想

  比如,我去沃尔玛买东西,用提炼名词思想以java来形容就是

class Person

{

     String name;

     thing buy(SuperMarket name,thing name){}

}

class SuperMarket

{

     String name;

     thing sale(thing name){}

 

}

class thing

{

 String name;

}

  这个看起来有点像boss张所说的面向对象重点在主语了,其实我觉得可以改成重点在名词更贴切一点。

老毕的思想之二:面向接口思想

按照逻辑重要性分先后来说

1,接口的出现降低了程序的耦合性。

   老毕虽然举了半天例子,手舞足蹈的又是徒手比划又是电脑操作的,以电脑主板上的PCI插槽为例子,说明了耦合性降低对于程序设计的重要性,我总结了比较白痴的看法:耦合性高,做东西就慢,耦合性低就快。

2:接口增强了功能的扩展性

   这个我比较理解,小小的USB接口能插无数的东西啊,U盘,移动硬盘,键盘,鼠标,摄像头,暖手水袋。。

3:另一种方式实现多继承——多实现

   初学者到这里不蒙的就不是初学者了,我吃奶的力气都使出来了,也没弄的很明白,只能大体说说

   为什么c++里面多继承容易出问题,而java不会呢,

   老毕说:比如2个父类有同名的成员方法,继承之后子类到底用哪一个呢,这里就出问题了,而接口的成员方法是没有方法体的,如果两个接口出现了同名的方法,那继承到子类的时候就可以看成一个方法了。

   我觉得对于初学者来说最难的就是理解java的理论体系了,一旦建立了,以后就很容易。

 

原创粉丝点击