刚开始学对象编程,不知道怎么写,大家帮帮忙

2019-05-05 08:31:40 +08:00
 pinews
思路如下,
有一对对象
有男一人,女一人,
男提出约会,女同意约会
约会进行
约会结束
男金钱减 300,双方亲密度减 300

怎么写啊,完全没头绪,苦恼
4860 次点击
所在节点    程序员
47 条回复
kljsandjb
2019-05-05 08:33:16 +08:00
牛逼的题
18k
2019-05-05 08:34:35 +08:00
面相对象的编程
这里很多人是没有经验的
lhx2008
2019-05-05 08:38:16 +08:00
亲密度肯定要存到另外一个对象,要我做的话这是个二层 map ( table )。
如果是一女不事二夫的话,同时加到男女的对象上也没问题。
pinews
2019-05-05 08:40:18 +08:00
@lhx2008 是这样的 假设 5 男 5 女,可以互相约会。
FelixZeng
2019-05-05 08:40:39 +08:00
建议你先找个对象,面向对象编程可能会好一点
salamanderMH
2019-05-05 08:42:08 +08:00
女方觉得不合适就算了
pinews
2019-05-05 08:42:52 +08:00
@FelixZeng 正在做相亲网站
lhx2008
2019-05-05 08:43:25 +08:00
@pinews Map<Person, Map<Person, Integer>>
pinews
2019-05-05 08:45:11 +08:00
@lhx2008 不太懂,如何存入数据库我还是知道的
Bigglesworth
2019-05-05 08:48:11 +08:00
怎么“男金钱减 300,双方亲密度减 300 ”,这不就是黄了嘛,哈哈哈。。。
cmqwan
2019-05-05 08:58:24 +08:00
@Bigglesworth 亲密度的初始值设定可以根据男方的资产而定,比如有一个亿,init 的时候,双方亲密度就是一百万。减个 300,毛毛雨
crazytree
2019-05-05 09:01:47 +08:00
先 new 一个对象
Bigglesworth
2019-05-05 09:20:11 +08:00
@cmqwan #11 不是那个初始值问题,我说男方约会花了 300,亲密度反而减 300 了。
nutting
2019-05-05 09:20:57 +08:00
这个亲密度到底怎么定义的,先让你产品经理说清楚吧。别的没什么难度吧
gransh
2019-05-05 09:27:43 +08:00
楼主是做作业还是钓鱼?
BingoXuan
2019-05-05 09:29:16 +08:00
如果是 python 的话,可以用上下文管理器。那么约会开始和结束的操作就可以写进__enter__,__exit__两个魔法方法里面。
ben = male()
lily = female()
with date(ben, lily) as d:
####d.set_fee(300)
####d.set_favorablity(300)
####d.fail()
aa514758835
2019-05-05 09:32:29 +08:00
金钱减完亲密度应该增加啊,怎么会搞得亲密度下降,应该是个 bug
ben1024
2019-05-05 09:36:40 +08:00
先找个对象?
SuperMild
2019-05-05 10:12:47 +08:00
这是一个 Date 对象,它初始化时接受一个 Man 和一个 Girl 的实例,它有一个 run 方法,执行 run 方法表示 man 向 girl 发起约会。

class Date(Man, Girl) {

fn run() {

if woman.accepted {

money = man.pay() // default = 300, man.money -= 300
successful = girl.get(money)
love = successful ? money : -money
man.love(girl) += money
girl.love(man) += money

}

}

}

另外你还需要 Man 和 Girl 对象,他们有如上所示的方法,你可以自己实现其具体内容。
NMmmm
2019-05-05 10:15:04 +08:00
自己约自己出去玩,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/560965

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX