나는 부모와 자식의 두 클래스를 만들었습니다. 부모 클래스를 사용하여 자식 클래스를 초기화 할 수 있는지 알고 싶습니다.수퍼 클래스의 인스턴스에서 하위 클래스의 인스턴스를 만드는 방법은 무엇입니까?
class Pc:
def __init__(self, brand, processor, price):
self.brand = brand
self.processor = processor
self.price = price
class Laptop(Pc):
def __init__(self,brand,processor,price, battery):
Pc.__init__(self,brand,processor,price)
self.battery = battery
지금 내가 가진 노트북 클래스를 초기화 할 수 있습니다 :
b = Laptop('brand','processor','price')
하지만 그건 나에게 많이 사용하지 않는 것 그리고 선생님이 아주 잘 설명하지 않은이 내 코드입니다. 나는 이런 식으로 할 수 있는지 알고 싶다.
a = Pc("brand","processor","price")
b = Laptop(a, "battery")
내 코드로 이것을 시도하면 오류가 발생한다. 이것을 할 수 있습니까?
당신은'데프 __init __ (자기, PC, 배터리를 정의 할 수 있습니다) :'그런 다음'pc' 인수에서'Pc' 속성을 복사하십시오. – Barmar
오류는'Laptop .__ init__'을 4 개의 인수를 받아서 정의했다는 것입니다. 두 개만 넘겨 주면됩니다. 전달하고자하는 인수를 취할 함수를 다시 정의해야합니다. – Aaron
노트북 초기화를 수정할 수 있습니다. * argv 당신이 가지고있는 인자의 수에 따라 어떤 식 으로든 일을 하든지, 아니면 대안적인 생성자로서이 클래스를위한 클래스 메쏘드를 만드십시오. – Copperfield