免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: __BlueGuy__
打印 上一主题 下一主题

[技术动态] 面向对象与排列组合 [复制链接]

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
11 [报告]
发表于 2012-11-14 10:37 |显示全部楼层
我不知道什么鸟鸭子类型
{0  1  2  3  4  5  6  7  8  9} 这么一个集合来表示 2^n 物品, 就是牛B

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
12 [报告]
发表于 2012-11-14 10:44 |显示全部楼层
Sevk 发表于 2012-11-14 10:42
天时,地理,人和,缺一不可。


恩,确实

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
13 [报告]
发表于 2012-11-14 11:01 |显示全部楼层
本帖最后由 __BlueGuy__ 于 2012-11-14 11:02 编辑
starwing83 发表于 2012-11-14 11:00
回复 21# __BlueGuy__


你先说说表怎么解决这样的问题?
你又怎么理解OO了 ?

老子不认识什么Lua, 老子只认c ,你说说c 怎么解决这个问题

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
14 [报告]
发表于 2012-11-14 11:07 |显示全部楼层
本帖最后由 __BlueGuy__ 于 2012-11-14 11:11 编辑

比如这样的函数:

def square_add(a, b): return a*a + b*b

我们只需要a和b支持乘法和加法即可。至于a和b是什么,我们不关心。这就是鸭子类型的思想。这种“跳过继承/类直接处理对象”的方式,即是OO的最初形态。

// 这些都太小儿科了, 我早就知道 程序的本质在与怎么放置数字
我不是说过了,会有无数个函数名来解决计算问题
谁管a, b是什么了,我不是说计算机的一切都是数字嘛?

大家都看到我不管了, 你还在假设我在管...
俺有点事, 回头再跟你讨论鸭子类型

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
15 [报告]
发表于 2012-11-14 11:16 |显示全部楼层
本帖最后由 __BlueGuy__ 于 2012-11-14 11:23 编辑

假设我们有100个对象——对,就算属性的组合是无限的(这个我同意),但是对象的数量也应该是有限的,取决于你实际的应用——那么,你所关注的,仅仅是需要向哪个对象发送哪些消息而已,比如一个对象仅支持修改1,2,5,8号属性,那么你也仅能对它发送这些消息来修改这些属性。其余的会引发一个错误(无论是编译期错误,运行时异常或者仅仅什么都不做都是错误的体现),在这个框架下,OO能完全避免掉无限的影响:请注意,这里的处理将无限避免掉了,我们只需要面对有限个对象,发送有限个消息而已。即使在数学上来说,这种将无限处理成有限的技巧也是很有用的。一个很直接的例子就是“数学归纳法”,这也是一种将无限处理成有限的方式
//
我已经把所有的被选方案都考虑到了,
你总是在我说的集合的子集里解决问题,你把 1,2,5,8当成了所有的对象,还振振有辞
你懂什么叫宏观上把握问题吗?, 你那个想法JB用没有,我要是遇到1,2,3,8这么简单的一个对象,还用的着 面向对象,
面向过程都直接干了

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
16 [报告]
发表于 2012-11-14 17:17 |显示全部楼层
cjaizss 发表于 2012-11-14 11:53
真想扯些什么的话
还是先
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=2100509


一边凉快去啊,

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
17 [报告]
发表于 2012-11-14 17:19 |显示全部楼层
本帖最后由 __BlueGuy__ 于 2012-11-14 17:36 编辑
starwing83 发表于 2012-11-14 12:45
回复 30# __BlueGuy__


别总是拿需求说事,好不好,
需求就一纸文档,有什么不清楚的吗?

还有,成功的项目和代码一点关系都没有,
难道你忘了烂代码一样可以出成功项目

现在的需求就是 2^n 次 1024个不同类型的物品,
我的设计就是
struct
{
  0、1、2、3、4、5、6、7、8、9
}Item;
这么简洁和完美,

再怎么复杂的需求都逃不出我的这个集合,这个集合已经包含了所有的需求


你好像没有需求就不能谈程序设计一样,
你总是别人给你需求,而你自己却不假设需求,你这程序设计的也太被动了

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
18 [报告]
发表于 2012-11-16 08:03 |显示全部楼层
本帖最后由 __BlueGuy__ 于 2012-11-16 08:12 编辑

10个属性最简单的组合/继承模型是:

0 1 2 3 4 5 6 7 8      9
0 1 2 3 4 5 6 7 9      8
0 1 2 3 4 5 6 8 9      7
0 1 2 3 4 5 7 8 9      6
0 1 2 3 4 6 7 8 9      5
0 1 2 3 5 6 7 8 9      4
0 1 2 4 5 6 7 8 9      3
0 1 3 4 5 6 7 8 9      2
0 2 3 4 5 6 7 8 9      1
1 2 3 4 5 6 7 8 9      0

所以碰到这种9+1的两种对象,套上去,不带思考的,完美设计 !

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
19 [报告]
发表于 2012-11-16 08:09 |显示全部楼层
cjaizss 发表于 2012-11-14 18:40
好心当驴肝肺,想要深刻认识就好好学。不好好学就别学着吓扯淡。


懒的鸟你...

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
20 [报告]
发表于 2012-11-16 08:14 |显示全部楼层
本帖最后由 __BlueGuy__ 于 2012-11-16 08:19 编辑

程序已经不需要适应需求,而是需求适应设计

未来有可能让计算机自动帮助人类设计数据结构
计算机有能力处理任意复杂的需求,"万物皆对象" 有可能成为现实
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP