在SO上发现了一些问题,但仍然没有答案...有一个数据类
class Proxy(object):
def __init__(self, ip, port):
self.ip = ip
self.port = port
有一个getter类,应该从不同的来源读取这些数据
class FileProxyGetter(ProxyGetter):
def __init__(self, fname = "d:\\proxies.txt"):
self.fileName = fname
def Get(self):
proxies = []
f = open(self.fileName)
for l in f.xreadlines():
proxies.append(Proxy.fromstring(l[:-1]))
f.close()
return proxies
def Update(self):
return []
我需要一个具有更多选项的Proxy类,例如
class SecureProxy(Proxy):
def __init__(self, ip, port):
super(SecureProxy, self).__init__(ip, port)
self.transparent = None
现在,我要改进FileProxyGetter,如下所示:
class FileSecureProxyGetter(FileProxyGetter):
def Get(self):
proxies = super(FileProxyGetter, self).Get()
secureProxies = []
for proxy in proxies:
# Create or Cast Proxy to SecureProxy.
# The transparent should be initialized to None or any other value that I may need
secureProxies.append(SecureProxy(proxy))
return secureProxies
因此,我该如何在Python中从基类强制转换或创建派生类的实例。如果不更改所需的类,那就更好了。
还是可以建议一些开发这种关系和体系结构的更蟒蛇的方法?
呼唤远方
相关分类