20楼#
发布于:2002-10-22 12:55
hehe.此封装和彼封装不一样哟
c++ 和汇编的封装不是一会事,是思想方法的改变 曾经听过一个笑话: c++ 是面向对象的吧,那c++最后要生成汇编代码,然后是机器码,这就是说机器码也是面向对象的? 所以封装不是简单的把一些代码放在一起,是客观世界的抽象和进一步的具体化。 |
|
|
21楼#
发布于:2002-10-22 12:59
hehe.此封装和彼封装不一样哟 霍霍,但封装只是一种思想而已。你说用private可以封装数据,那我偏要把它改成public,就封不住了。所以我说的用函数来封装系统相关,意思是上层完全和我这些打交道,不要绕过我去动系统,这应该就是封装思想。但如果有人偏喜欢绕过我,防不住,任何语言都防不住。 结论:愚以为,OO是人类的一种思想,而不是哪个语言的特性。 就算用Java,号称都用类包装了,但一样可以写的很不OO |
|
|
22楼#
发布于:2002-10-22 13:03
OO不OO是认识问题的角度不同,传统的是从功能或数据流看待系统。而OO要实现的是从事物或对象去看系统。好处是符合人的思维。而且功能是易变的,对象相对稳定,通过封装限制了功能的作用于域。
书上这么说的 |
|
|
23楼#
发布于:2002-10-22 13:14
haha,花猫还是没明白什么是oo.................
oo不是简单地把函数或数据放到class中........ 是一种更高层的抽象.. |
|
|
24楼#
发布于:2002-10-22 13:21
恩,不是把东西扔到class里就是OO了,我觉得我现在很不自觉的就犯这种错误,叫把功能函数class化。我觉得问题出在怎么划分类,怎么抽象出对象。
|
|
|
25楼#
发布于:2002-10-22 13:22
haha,花猫还是没明白什么是oo................. 不要太深奥…………………………………… 怎么抽象?我想写个美女类,先写个“人”,里面有眼睛鼻子,然后派生个“女人”,加上一些………………,然后派生个“美女”,里面有个属性叫“养眼”。 够抽象了,我用汇编一样可以实现,VTable指针+数据(鼻子,眼睛)+方法,OK? 思想是思想,实现是实现,没有思想即使用Java也无法实现OO,有了思想,汇编完全可以实现OO。C++编译器干的事,是替你生成VTable,管理类布局,等等。 汇编本身不是OO语言,但不是说它不能实现OO,否则C++也不用编译了。国外的那些职业asm程序员,不可能不和OO打交道,怎么打?看汇编啊。 |
|
|
26楼#
发布于:2002-10-22 13:23
恩,不是把东西扔到class里就是OO了,我觉得我现在很不自觉的就犯这种错误,叫把功能函数class化。我觉得问题出在怎么划分类,怎么抽象出对象。 这就是传说的思想,但实现时还是要把东西扔到class里 |
|
|
27楼#
发布于:2002-10-22 13:25
[quote]恩,不是把东西扔到class里就是OO了,我觉得我现在很不自觉的就犯这种错误,叫把功能函数class化。我觉得问题出在怎么划分类,怎么抽象出对象。 这就是传说的思想,但实现时还是要把东西扔到class里 [/quote] 呵呵,不矛盾 |
|
|
28楼#
发布于:2002-10-22 13:27
[quote][quote]恩,不是把东西扔到class里就是OO了,我觉得我现在很不自觉的就犯这种错误,叫把功能函数class化。我觉得问题出在怎么划分类,怎么抽象出对象。 这就是传说的思想,但实现时还是要把东西扔到class里 [/quote] 呵呵,不矛盾 [/quote] 是啊,当然不矛盾。 很多OOP的书,主要是讲思想,最多用C++示范,如果它用汇编示范,理论上可以,但它可能首先用几百页告诉你怎样构造一个类。 |
|
|
29楼#
发布于:2002-10-22 13:29
但是有个问题,C++是OOPL,而汇编不是,至少汇编里不能类继承,虽然其他的汇编都可以控制
|
|
|
30楼#
发布于:2002-10-22 13:30
而且现在提出了一个主动对象的咚咚,弄得我晕晕
|
|
|
31楼#
发布于:2002-10-22 13:31
但是有个问题,C++是OOPL,而汇编不是,至少汇编里不能类继承,虽然其他的汇编都可以控制 理论上你自己可以手工构造类,也可以继承,只不过超麻烦。 TASM对OO有支持,但我没仔细看过,不清楚它怎么实现,反正是比较弱的实现 |
|
|
32楼#
发布于:2002-10-22 13:33
不会是自己编个编译器来支持把?
|
|
|
33楼#
发布于:2002-10-22 13:34
不会是自己编个编译器来支持把? 当然不用 |
|
|
34楼#
发布于:2002-10-22 13:37
还有多态性
|
|
|
35楼#
发布于:2002-10-22 13:38
还有多态性 VTable支持 |
|
|
36楼#
发布于:2002-10-22 13:39
oo博大精深,值得好好学习。建议将本贴放到技术版里。 :)
|
|
|
37楼#
发布于:2002-10-22 13:41
oo博大精深,值得好好学习。建议将本贴放到技术版里。 :) 灌水区人气旺,讨论之。 |
|
|
38楼#
发布于:2002-10-22 13:44
怎么到后来开始讨论语言和OO的关系了?
汇编当然可以实现OO,只要你高兴,谁管你了,只要你开心,你用机器码都没人说你傻瓜,相反大家都会用仰慕的眼光看着你:“看看人家,机器码使得比咱们C++还熟”,牛!除了牛还是牛!公牛母牛黄牛加牦牛总之是牛! 不管什么语言,写代码多了多少带了点OO的思想,跟你懂不懂OO都没什么关系。OO还不就是一班从来不知道OO的人整出来的? 不过既然人家花了老大的心思整出来了,咱门也就让人家有点成就感,大家去试试看嘛。人家的design pattern咱们也去看看就算是挑挑刺找个茬子跟那gang of four单挑。人家的framework也去瞅瞅,MFC, OWL, MVC,qie,一边去,咱不定能整个更高级的出来。让那些年薪百万的chief architecture留着哈拉兹趴在地上看着咱。 C++? SmallTalk? OO PASCAL? Java? C#? 什么玩意吗?上次咱那个叫什么什么名字来着的Z++++牛皮多了,效率也高多了,机器码都没那么牛(因为优化得好)! 不过在这所有一切之前,咱还是先耐心地看看(学习就不必了,咱只是挑挑刺)那些老前辈(其实比咱也大部了几岁嘛)都辛苦地折腾了些啥。 差点忘了,OO算个啥?!?干吗要面向对象?面向mm不是更好?男人和mm心理是不一样的嘛,怎么可以用一个面向呢?以后gg用OMM,MM有OGG,qie,那样保证gg,mm都有无限热情把有限的生命投入到无限的为软件服务当中去。 qie,我都不知道自己说了些啥。酒喝得有点多了。 |
|
|
39楼#
发布于:2002-10-22 13:49
呵呵!耳边风成醉鸟了
|
|