You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python对象继承疑问:传入子类实例至期望父类的函数是否可行?

问题解答:传入子类实例能否正常运行?
  • 类型兼容性没问题:在Python的类型提示规则里,子类InstagramApp的实例完全可以传给标注为父类Phone类型的参数,这符合面向对象的里氏替换原则,本身是合法的。
  • 代码实际会报错,但问题不在子类传入:当前代码里的Phone.install()方法没有定义self参数,当通过实例调用install(app_name)时,Python会自动把实例作为第一个参数传入方法,导致参数数量不匹配(方法定义要求0个参数,实际传入了实例+app_name两个参数),不管传父类还是子类实例都会报错。
  • 修正后即可正常运行:把Phone类的install方法改成带self和app_name参数的定义:
    class Phone:
        def install(self, app_name):
            ...
    
    这样修改后,传入InstagramApp的实例调用install_app就可以正常工作了。

内容的提问来源于stack exchange,提问作者Sion C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:16:14