漫画 | 为什么面向对象糟透了

又是周末,编程语言“三巨头”JavaLisp C语言照例在Hello World咖啡馆聚会。

漫画 | 为什么面向对象糟透了_第1张图片

对于三位老顾客,服务员总是殷勤接待

漫画 | 为什么面向对象糟透了_第2张图片

(码农翻身注:这是一篇很早之前的文章,作者是大名鼎鼎的Joe Armstrong , 也就是Erlang之父。)

漫画 | 为什么面向对象糟透了_第3张图片

原来这是Erlang之父Joe Armstrong写的一篇“战斗檄文”,里边充满了对面向对象的批判。

漫画 | 为什么面向对象糟透了_第4张图片

Java看到C语言这么顽冥不化,决定上代码,给他点儿颜色瞧瞧。

漫画 | 为什么面向对象糟透了_第5张图片

没想到C语言不甘示弱,也把代码搬了出来

漫画 | 为什么面向对象糟透了_第6张图片

漫画 | 为什么面向对象糟透了_第7张图片

Java无语,心说这两个家伙就是胡搅蛮缠。

突然,他心中一动:我怎么忘记多态了!

漫画 | 为什么面向对象糟透了_第8张图片

漫画 | 为什么面向对象糟透了_第9张图片

漫画 | 为什么面向对象糟透了_第10张图片

漫画 | 为什么面向对象糟透了_第11张图片

Java看到C语言已经入套,从口袋里拿出一幅图,准备给他最后一锤。

漫画 | 为什么面向对象糟透了_第12张图片

漫画 | 为什么面向对象糟透了_第13张图片

C 语言沉默了,他还想反击,但一直找不到突破口。

漫画 | 为什么面向对象糟透了_第14张图片

漫画 | 为什么面向对象糟透了_第15张图片

(码农翻身注:C语言实现面向对象的详情可以移步《C语言:春节回家过年,我发现只有我没有对象!》)

漫画 | 为什么面向对象糟透了_第16张图片

C语言点头,编程的关键点就是找到、抽象出稳定的接口,针对这个接口编程,这样就可以让各个模块能够独立地变化

漫画 | 为什么面向对象糟透了_第17张图片

Java没想到支持函数式编程的Lisp居然给自己出了一道面向对象的题,大为惊讶。

他稍一思考,就在白板上花了一幅图。

漫画 | 为什么面向对象糟透了_第18张图片

Lisp看到Java 掉入了陷阱,心中不由一乐。

漫画 | 为什么面向对象糟透了_第19张图片

漫画 | 为什么面向对象糟透了_第20张图片

漫画 | 为什么面向对象糟透了_第21张图片

Java 低头沉思不语,突然,脑海中想起来了那句话:优先使用组合而不是继承。

怎么使用组合?必须得改变下看待问题的方式,对,应该这样:

漫画 | 为什么面向对象糟透了_第22张图片

漫画 | 为什么面向对象糟透了_第23张图片

漫画 | 为什么面向对象糟透了_第24张图片

你可能感兴趣的:(java,开发语言)