【发布时间】:2016-11-15 04:33:13
【问题描述】:
我在这个项目中有多个班级,它们都面临着我将要解释的相同情况。为了简化事情,我将使用一个类及其具体情况的详细信息。
类
class ConnectedDevice(object):
def __init__(self, mac_address, ip_address):
self.mac_address = mac_address
self.ip_address = ip_address
解决方法#1
我可以用构造函数的参数填充成员变量来构造实例。
这可以通过在 main 中的类之外有单独的函数来获取必要的信息来完成。
def main():
mac_address = get_mac_address()
ip_address = get_ip_address()
Device0 = ConnectedDevice(mac_address, ip_address)
解决方法#2
我可以在构造函数的参数中使用None 构造实例,并在事后使用成员函数来填充成员变量。显然,我会在我的类中定义成员函数来做到这一点。
def main():
Device0 = ConnectedDevice(None, None)
Device0.set_mac_address()
Device0.set_ip_address()
问题
我在问哪个是更好的面向对象的方式来解决这个问题?
- 解决方法 #1
- 关于这个 #2 的方法
【问题讨论】:
标签: python-2.7 class oop member object-oriented-analysis