Objective C 学习总结(三)面向对象

哼哼...先冷笑几声

铭刻我心的几句话:

1、没有万能钥匙,不要相信不二法门。

2、问题一定有办法解决

3、我很帅

面向对象这种东西,就像药,对症就是良药,不对症就是毒药。不迷信。

总结下看Objective-C中的面向对象。

基本理念相同,不过在书中看到了之前未看到过的概念——间接。

间接就是脱了裤子放屁,看似费事,其实有效的防止屎同时拉出来。

这和我之前接触的面向对象有些许不同,之前强调的是继承,多态,虚函数等。不过我到觉得“间接”这个概念更深入一些。

继承,虚函数,重载,基类调用派生类虚函数等等。。。

面向对象最需要也是最容易犯错误的地方,是区分有一个(have a)还是是一个(is a),有一个用成员变量,是一个用继承。

在继承之后,要重载各种虚函数。但是不同派生类的同一个虚函数,只有少量不同的代码,而大部分代码相同,这个时候该咋办呢?

发现把相同的部分单独拿出来写成函数给其它的办法也基本不可行,或者太麻烦,这个时候该咋办呢?

我没有答案。

还有,在MFC中,Doc/View结构运用了一种最简单也很重要的一种思想,就是数据显示分离。在面向对象中这种方法适用吗?

因为一个对象既包括方法也包括数据的,否则就不是一个完整的对象。这个时候又该怎么办呢?

我也没有答案。

总之,面向对象使用起来会有很多的问题。

哦,跑题了。

Objective C中的面向对象和其它没有什么大的区别。继承。

有一个好处,因为Obj-C支持通用类型id,也就是无论是基类的对象,还是派生类对象,都可以放到一个数组里

就避免了使用基类去掉派生类的指针。其它好像没啥太大的差别了。

posted on 2011-06-16 20:42  荒原小兽  阅读(402)  评论(0编辑  收藏  举报