说起OO,可以回想起大学时代的Java课。其实那会的我,连C的指针和结构体都没有弄熟,老师讲到类的时候,不过我还是联想到了C语言的结构体。曾经问过老师这两者的区别,或者有助于我对OO的理解。可是,到最后也没有很好的明白,然后由于其他的一些个性原因,因比较叛逆而对Java失去兴趣,自考试通过之后就再没有碰过Java。所以不好在这里来评价她,再说,也没有什么意义,语言者,器物也。
我发现,我从来都没有真正的理解过什么是OO,所以在这里也没有什么太大的大话来大话OO什么的,只是忍不住写点东西,自娱自乐。
刚才说道,我学Java的OO时联想到了C的结构体,可是当时学艺不精(其实现在也不精:()。后来工作了,接触到PHP,发现这家伙和C有一拼,所以很快就入门了。但是很长一段时间(差不多一年多吧)内基本是用面向过程的方式编写程序,当写到一定的代码量的时候总发现脑子不够用了,因为变量太多,管理起来实在是麻烦。所以现在才开始了我的OO之旅。虽然工作中有接触Java的机会,不过还是由于个人兴趣及工作等原因放弃了。而工作这两年多来,唯一留在脑壳里面比较多的,就是C了,或者说,我在学校里遗留下来的编程语言东西就只有C这东西了。
一次进书店,偶然发现台湾OO大师高焕堂先生的大作《uml嵌入式设计》,此刻的我才如醍醐灌顶,恍然大悟,原来C也可以OO,只相见很晚呐。什么原理我就讲不出来了,看到这里的各路大虾们就不要看我再献丑了。自娱自乐而已。
现在来看如何用C写一个带OO的片段: