python - 在 Python 中使用一个类基于 __init__() 返回不同的对象?
问题描述
我必须处理两种格式,比如 A 和 B。我想构建一个类,以在 Python 中以最佳方式处理这两种格式。
我的想法是有一个基于init () 传递的类返回一个负责处理该格式的不同对象。这样,我的用户只需要处理一个类。
class AnnotationHelper:
def __init__(self, format):
if format == "A":
#return object AnnotationHelperA
elif format == "B":
#return object AnnotationHelperB
else raise ValueError("Invalid format")
def get_x():
raise NotImplementedError() //AnnotationHelperA and AnnotationHelperB should implement this
像这样的“设计模式”会被称为什么?这是解决我的问题的有效方法还是有另一种标准的方法来做这样的事情?我只是希望我的代码尽可能干净和可重用。
解决方案
推荐阅读
- python-3.x - 如何创建具有不同变量向量元素的 SOC 约束
- javascript - Javascript 验证在我的 Spring 启动中不起作用
- erlang - 如何绘制有限状态机
- java - 如何通过登录从终端下载java
- python - 如何将可迭代分配给python数组变量?
- vue.js - Vue中可拖动元素的实时位置信息如何?
- docker - 如果我在 ubuntu 上运行 minikube 实例,我需要像 virtualbox 这样的虚拟机吗?
- racket - 填充了一些值的子结构
- python - 如何在龙卷风python中以无阻塞的方式有效地实时进行日志拖尾
- sqlite - SQLite.SQLiteException:没有这样的功能:在获取 CurrentDate 时使用 LINQ 查询的 tostring