[英]Too many constructor arguments
我遇到了這個問題,我必須向構造函數傳遞很多參數才能實例化該類。 我不知道如何解決這個問題。
user = SpecialStudent(John, Doe, johndoe@example.com, 0612345678, 9988778, hello)
class User(Base):
def __init__(self, name, surname, email):
self.name = name
self.surname = surname
self.email = email
class Student(User):
def __init__(self, name, surname, email, phone, student_number):
super(Student, self).__init__(name, surname, email)
self.phone = phone
self.student_number = student_number
class SpecialStudent(Student):
def __init__(self, name, surname, email, phone, student_number, random_param):
super(SpecialStudent, self).__init__(name, surname, email, phone, student_number)
self.random_param = random_param
我已經考慮過構建器模式或工廠,但是我不知道哪種模式可以解決此問題,或者是否有其他方法可以解決此問題。
稍作修改后:
class User(object):
def __init__(self, name, surname, email):
self.name = name
self.surname = surname
self.email = email
class Student(User):
def __init__(self, name, surname, email, phone, student_number):
super(Student, self).__init__(name, surname, email)
self.phone = phone
self.student_number = student_number
class SpecialStudent(Student):
def __init__(self, name, surname, email, phone, student_number, random_param):
super(SpecialStudent, self).__init__(name, surname, email, phone, student_number)
self.random_param = random_param
user = SpecialStudent("John", "Doe", "johndoe@example.com", "0612345678", "9988778", "hello")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.