免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2524 | 回复: 6
打印 上一主题 下一主题

我对oop的一点点理解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-26 15:30 |只看该作者 |倒序浏览
最基础的逻辑是任务流,或称之为“过程”。
对先后次序敏感的逻辑,就要用最基础的过程化,编写程序。
“类”就是过程数据集合。所谓“类”就是一种高级“模块”。它适合于,类的接口的“边界”外对过程不敏感。
对过程不敏感意思就是这个类,可以放到一个过程前面或后面,都基本不会影响他内部逻辑。比如一块表戴在手上放在地上都是一块表。而对过程敏感的代码就是对秩序的敏感。对如人的脑袋长在上面叫“脑袋”,你切下来放到地上,那大家都完蛋。这样的次序敏感的逻辑最好用过程实现。
人们编程过程需要努力找到这样的过程不敏感的逻辑块,并以此重用代码。
类的继承(代码)。就是类与类之间偏向功能扩展的层次关系,找到这样的类纵向的层次,并以此重用代码。
类的多态(虚函数)。就是类“功能”或叫“行为”的“逻辑抽像”。具体就是多个类的某一种“行为接口”在类之间的不敏感。也就是这种行为同时存在于class A,存在于class B。因为他们类之间要重用一种“行为”,就用继承的语法组织,使得这些相关的类同时获得这样的“行为”接口。
找到这样行为的“逻辑抽像”。并以此重用代码。
模板(重载)类多态,是对类(或叫算法,或叫函数)的抽像,是一个类(或叫算法,或叫函数),对多个“行为接口”(比如允许输入int类 ,可以输入鸡蛋类)的不敏感。并以此重用代码。

“重用代码”的另一个意思就是剔除冗余代码。

[ 本帖最后由 ljoo 于 2010-1-29 11:24 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2010-01-26 15:41 |只看该作者
我本来想写一本C程序员使用C++的指南,也就是C++和C的区别的书,可是我实在没时间整理。
lz有时间的话可以写本这个,OOP,OOA,OOD,OOXX之类的理论就不用讨论了。

论坛徽章:
0
3 [报告]
发表于 2010-01-26 15:48 |只看该作者
这只是我自已的一点理解的总节,博大家一笑。
想想以前对oop的理解,总是太自然原生态了。

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
4 [报告]
发表于 2010-01-26 16:38 |只看该作者
我觉得最朴素的OOP的体现之一就是尽量做到类之间不互相依赖, 如果必须依赖, 尽量做到只有一个类依赖另一个类, 而不是互相持有指针, 互相调用方法。

妈的, 一群群面向对象高人的代码除了将一个模块的能直接做完的事情搞出10几层继承, 7,8个类之外, 而且互相之间你引用我我引用你(因为本来就是一个东西, 他拆成若干个, 又要实现完整功能, 只能这样干), 麻烦到一个不行。

面向对象不过一种方式而已, 现在整的像是乡下土地主婆的金镯子, 没有了就显示不出高贵了。

论坛徽章:
0
5 [报告]
发表于 2010-01-26 17:33 |只看该作者
C++隐藏了很多C程序员想知道的细节,所以C程序员比较头大C++。

如果恐怖的人想写点吓人的代码,C++比较适合,我对C++没什么偏见,商业公司要用,我要靠商业公司养活,那就用呗。

随着coding的年限的增长,我的code会越来越简单的(无所谓语言),简单到只有3年经验的newbie都对着我的code笑我幼稚。。。。。

论坛徽章:
0
6 [报告]
发表于 2010-01-27 09:49 |只看该作者
OO能力与认知事物本质能力成正比。一个人认知事物本质能力越强,他的OO能力就越强越准确。
那么怎样培养提高认知事物本质的能力呢?

论坛徽章:
0
7 [报告]
发表于 2010-01-27 10:29 |只看该作者
原帖由 wsw1wsw2 于 2010-1-26 17:33 发表
C++隐藏了很多C程序员想知道的细节,所以C程序员比较头大C++。

如果恐怖的人想写点吓人的代码,C++比较适合,我对C++没什么偏见,商业公司要用,我要靠商业公司养活,那就用呗。

随着coding的年限的 ...


这个。。。也许不是C++的问题。也许是gdb的问题。这些调试器基本就延袭了面向过程的风格。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP