gpt4 book ai didi

python - 在不知道正确的派生类的情况下创建派生类的实例

转载 作者:行者123 更新时间:2023-12-01 07:19:54 25 4
gpt4 key购买 nike

我有一个 Event 基类。有多个派生类,例如:网络事件、IOEvent 等等。每个事件都有一个代表特定事件类型的值,因此可能:

11 -> NetworkEvent (TCP send)
12 -> NetworkEvent (TCP receive)
14 -> IOEvent (File Open)

给定一个包含类型以及连接到该类型的其他参数的事件,我想返回适当类的实例。

例如:

{"type": 11, "member1":"192.168.1.1", "member2":80}

将返回 IP 地址为 192.168.1.1:80 的 NetworkEvent 实例

{"type": 14, "member1":"C:\temp\file.txt", "member2":"DOMAIN\user"}

将返回用户为 DOMAIN\user 的文件“C:\temp\file.txt”的 IOEvent(根据类型 ID 进行解析)

在 python 中这样做的正确方法是什么?我假设理解类型(11、12 等)的逻辑应该在 Event 类中,这是正确的吗?

我没有尝试过任何具体的事情,因为这主要是关于设计的正确性。

最佳答案

我会推荐一个接受字典作为参数的工厂函数 - 这可以检查给定字典的“类型”值,然后构造并返回相应事件子类的实例。

关于python - 在不知道正确的派生类的情况下创建派生类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57756850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com