Python 一个继承的问题

tubowen · 2024-11-15 17:50:51 · 412 次点击
Python 中
定义了一个 TCP 类,继承自 socket.socket 类
TCP 类中的 init 方法:
def __init__(self):
   super().__init__()
   self.name="xxx"

TCP 类只重写了 init 这一个方法
现在 tcp 类的实例,调用 accept 方法的时候,返回的是 socket 类的实例,没有 name 属性,
应该怎么重写 accept 方法,可以让 tcp 类的实例调用 accept 方法的时候,有 socket 类的 accept 方法的作用,同时还能返回一个 TCP 类的对象,因为后面要用它的 name 字段
举报· 412 次点击
登录 注册 站外分享
3 条回复  
julyclyde 小成 2024-11-15 17:53:42
先不说你的设计错误 单说技术问题,你还得覆盖一下 accept 方法,让它先调用原始的 accept 然后再修改即将返回的对象,变成返回你的自定义类
tubowen 楼主 小成 2024-11-15 18:03:41
@julyclyde 是得重写 accept 方法,这里可以怎么把父类的对象转成我自定义的对象
julyclyde 小成 2024-11-15 18:04:50
@tubowen 你加一个构造函数,用父类对象做参数,包一下
返回顶部