J'ai plusieurs classes dans ce projet qui sont toutes confrontées à la même situation que je vais expliquer. Pour simplifier les choses, je vais utiliser une classe et les détails de sa situation spécifique.OOP Python - initialisation de variables membres à partir de paramètres constructeur ou de fonctions membres?
Classe
class ConnectedDevice(object):
def __init__(self, mac_address, ip_address):
self.mac_address = mac_address
self.ip_address = ip_address
Way To Go À propos de ce # 1
je pouvais construire des instances avec les variables membres remplies par les paramètres du constructeur. Cela se fera en ayant des fonctions séparées à l'extérieur de la classe au sein de la main qui obtient les informations nécessaires.
def main():
mac_address = get_mac_address()
ip_address = get_ip_address()
Device0 = ConnectedDevice(mac_address, ip_address)
Way To Go À propos de ce # 2
je pouvais construire des instances avec None
dans les paramètres du constructeur et d'utiliser les fonctions membres après le fait de remplir les variables membres. Évidemment, j'aurais défini les fonctions des membres dans ma classe pour le faire.
def main():
Device0 = ConnectedDevice(None, None)
Device0.set_mac_address()
Device0.set_ip_address()
Question
Je demande qui est la meilleure façon orientée objet pour aller à ce sujet?
- Way To Go À propos de ce # 1
- Way to Go À propos de ce # 2