鱼C论坛

 找回密码
 立即注册
查看: 796|回复: 14

有没有简单的写法

[复制链接]
发表于 2020-5-31 18:04:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我定义了一个类,发现类中的每一种方法在最后都需要调用同一个函数,有什么方法可以让程序自动调用这个函数吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-31 18:06:50 | 显示全部楼层
本帖最后由 Twilight6 于 2020-5-31 18:15 编辑

那就在类里写个私有方法,把重复的片段写在私有方法里,然后要用的时候内部调用下私有方法就可了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-31 20:21:26 | 显示全部楼层
Twilight6 发表于 2020-5-31 18:06
那就在类里写个私有方法,把重复的片段写在私有方法里,然后要用的时候内部调用下私有方法就可了

但是这样做的话还是每次都要调用啊,因为我现在这个类有100多个方法,这样我就得复制100多遍这个调用语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-31 20:22:39 | 显示全部楼层
sullivan187 发表于 2020-5-31 20:21
但是这样做的话还是每次都要调用啊,因为我现在这个类有100多个方法,这样我就得复制100多遍这个调用语句

??? 你设定一个私有方法 然后其他的只需要调用私有方法就好了啊 ?   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-31 20:26:27 | 显示全部楼层
本帖最后由 Stubborn 于 2020-5-31 20:42 编辑

  我觉得,好好重构下代码吧, 或者贴部分代码出来,看下具体情况,或者使用函数装饰器,写装饰器的功夫,也够你复制调用了呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-31 21:12:36 | 显示全部楼层
Twilight6 发表于 2020-5-31 20:22
??? 你设定一个私有方法 然后其他的只需要调用私有方法就好了啊 ?

我的意思是,这样的话每个需要调用的方法后面都需要手动去写这个调用私有方法的命令,这样的话我就得复制100这个调用的命令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-31 21:13:45 | 显示全部楼层
sullivan187 发表于 2020-5-31 21:12
我的意思是,这样的话每个需要调用的方法后面都需要手动去写这个调用私有方法的命令,这样的话我就得复制 ...

那你如果不这样你就一块一块放那,你体积增大不止n倍,调用函数只需要原函数代码 和 调用的一行   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-31 21:14:01 | 显示全部楼层
Stubborn 发表于 2020-5-31 20:26
我觉得,好好重构下代码吧, 或者贴部分代码出来,看下具体情况,或者使用函数装饰器,写装饰 ...

嗯,我现在就是用装饰器写的,但是也碰到了问题。首先是每个方法上面都需要添加个@,然后是有些方法用了递归,所以这些方法在添加装饰器的时候外部函数会被调用很多次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-31 21:15:41 | 显示全部楼层
sullivan187 发表于 2020-5-31 21:14
嗯,我现在就是用装饰器写的,但是也碰到了问题。首先是每个方法上面都需要添加个@,然后是有些方法用了 ...


我觉得,还是重构下,为什么每个函数最后都需要调用,什么原因导致,是否可以改变这个结构。还有,一个类,100个方法了?真的不考虑重构吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-31 21:25:12 | 显示全部楼层
Stubborn 发表于 2020-5-31 21:15
我觉得,还是重构下,为什么每个函数最后都需要调用,什么原因导致,是否可以改变这个结构。还有,一个 ...

因为这个是用来生成通讯命令的,就算是分几个类来写,最后这些方法还是需要调用执行命令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-31 21:26:11 | 显示全部楼层
Twilight6 发表于 2020-5-31 21:13
那你如果不这样你就一块一块放那,你体积增大不止n倍,调用函数只需要原函数代码 和 调用的一行

我是懒到连这一行都想省
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-31 21:28:59 | 显示全部楼层
sullivan187 发表于 2020-5-31 21:26
我是懒到连这一行都想省

居然有比我更懒的人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-31 21:31:32 | 显示全部楼层
sullivan187 发表于 2020-5-31 21:25
因为这个是用来生成通讯命令的,就算是分几个类来写,最后这些方法还是需要调用执行命令

那就别省一行了,函数名字短一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-31 21:35:56 | 显示全部楼层
Stubborn 发表于 2020-5-31 21:31
那就别省一行了,函数名字短一点

好吧,问过就死心了,赋值黏贴去,感谢大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-31 21:39:07 | 显示全部楼层
sullivan187 发表于 2020-5-31 21:35
好吧,问过就死心了,赋值黏贴去,感谢大神

发一份代码,给我看看呀,是什么鬼神代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 22:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表