由于课程需要,学习Java和面向对象也已经好几个月了,来浅浅的谈论一下我对面向对象的理解。

  什么是面向对象?

  如果你百科或者wiki一下,倒是能翻出一大堆来。如果你嫌这些答案不够深沉,不够装逼,甚至还可以知乎一下云云。

  但是,你有没有想过,学习程序设计是为了什么?

  从正式开始接触计算机到现在也已经两年了,我再也翻不下去一堆堆厚重的书籍和资料,原因在于它们只是为了写更多的文字,却很少能够把一个简单的概念解释清楚。

  我很欣赏一个程序员的本质是单纯,老老实实写写代码本身是一件很开心的事了(对此,我深信Java让简单主义者开心不起来),而不是像个学术研究者一样,捧着一堆文献来研究,甚至还要把自己的思维装订成册才好。

  简单说,我能够快掌握一门技术,然后写出自己想要实现的东西,这便是目的(当然,也有以钱途为目的的人)。

  扯远了,回归主题……

  很多人会说面向对象是:

  封装

  继承

  多态

  或是balabala……

  但是,你真的了解面向对象的本质了吗?请确定你真的了解了,而不是为了学习一门语言而不得不硬着头皮接触面向对象。

  为了不让冰冷的技术词汇产生距离感,我用女娲造人这个例子来说明面向对象是个什么东东。

  首先,盘古开天辟地……(此处省略2000字)

  女娲一个人实在闷得慌(这也难怪,是个人都会寂寞,除了默默忍受寂寞的程序员们 = =#),尼玛突发奇想,搞出了个造人大计!

  ps:如果她知道现在的人是这副德行,尼玛肯定后悔得像买了切糕一般(局外话)。

  但是,人是如何造成的呢?再牛逼的女娲也像从前小时候玩橡皮泥的我们一样,搓来搓去没个名堂,终还是需要个模板,是个人都知道,这个模板是她自己。

  关键点1:面向对象的基本设计原则是需要一个模板(或称为蓝图),在程序设计语言里,我们把这个模板称为类。

  好了,有了一个模板,女娲可以对着模板来造人了,造出的人也是一个模板(类)的对象。

  我们知道,人有一些基本特征:一个头,两只眼睛,双手双脚。

  此外,人还有一些基本行为:吃喝嫖赌抽。