鱼C论坛

 找回密码
 立即注册
查看: 2896|回复: 2

[组合类]如何在一个类的方法中调用另外一个类的方法

[复制链接]
发表于 2017-10-17 22:15:19 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 周自横 于 2017-10-17 23:08 编辑

视频里面调用了另外一个类的属性,这个我理解了,但是如果是要调用一个类的方法呢?我写了如下的代码,需要在一个类的方法中调用另外一个类的方法,简单来讲就是在乌龟吃鱼的时候不仅实现乌龟吃的动作,还要实现鱼被吃的动作,该怎么调用?我没学过C,只是简单的看过JAVA,对self不是很了解,不懂指针.用不来.

class Fish:
    def ate(self,turtle):
        print(self.name + "被" + turtle.name + "吃了Zzzzz")
    def __init__(self,name):
        self.name = name

class Turtle:
    def __init__(self,name):
        self.name = name
    def eat(self,fish):
        print(self.name + "把" + fish.name + "吃掉了,好可怜!")
        fish.ate(self.name)#这里到底该怎么调用?

fish1 = Fish("鲨鱼")
fish2 = Fish("鲤鱼")
fish3 = Fish("金鱼")
turtle1 = Turtle("小乌龟")

turtle1.eat(fish1)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-10-17 22:20:34 | 显示全部楼层
用Fish类的对象调用该函数即可
比如fish1.eat(turtle)
请注意该函数的形参应该是self 和 turtle对象
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-17 23:08:59 | 显示全部楼层
BngThea 发表于 2017-10-17 22:20
用Fish类的对象调用该函数即可
比如fish1.eat(turtle)
请注意该函数的形参应该是self 和 turtle对象

不好意思,能不能具体一点,就是我加了红色标记那里,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-25 10:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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