Python 一个继承的问题

1 天前
 tubowen
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 字段
360 次点击
所在节点    Python
4 条回复
julyclyde
1 天前
先不说你的设计错误
单说技术问题,你还得覆盖一下 accept 方法,让它先调用原始的 accept 然后再修改即将返回的对象,变成返回你的自定义类
tubowen
1 天前
@julyclyde 是得重写 accept 方法,这里可以怎么把父类的对象转成我自定义的对象
julyclyde
1 天前
@tubowen 你加一个构造函数,用父类对象做参数,包一下
yingxiangyu
17 小时 12 分钟前
@tubowen #2 python 除非自定义方法,不然没发像 c++一样去转的

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

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

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

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

© 2021 V2EX