예를 들어 4 개의 클래스가 있습니다. 1이라는 기본 클래스와 Dog, Cat 및 Mouse라는 3 개의 파생 클래스가 있습니다. 예를 들어 사용자가 개를 선택하면 고양이와 마우스의 이동 기능을 사용하지 않으려합니다. 어떻게해야합니까?Python의 기본 클래스에서 함수 비활성화
그래서 사용자가 선택한 항목에 따라 다른 2 개의 파생 클래스 이동 기능을 사용하지 않도록 설정해야합니다. 이 사용자 동물의 선택은 동적입니다. 세 마리의 동물 모두가 인스턴스화됩니다. 하지만 동물 사용자 선택한다면 사용자
코드 예에 의해 이동 될 수 있습니다
class Pet(object):
def __init__(self):
#some code
def move(self, dx, dy):
#some code
class Cat(Pet):
def __init__(self):
#some code
class Dog(Pet):
def __init__(self):
#some code
class Mouse(Pet):
def __init__(self):
#some code
예외를 발생 시키거나 오류 메시지를 표시하려면 무시하십시오. 그렇지 않으면, move가 유일한 함수이기 때문에 Pet를 서브 클래스 화하지 마십시오. –
질문을 이해할 수 있는지 잘 모르겠습니다. 각 인스턴스는'Dog' 또는'Cat' 또는'Mouse' 일뿐입니다 - 여러분이 인스턴스화 한 것을 기반으로 각 인스턴스에서 하나의'move' 메소드가 호출 될 것입니다. –
나는 따라하지 않는다. 사용자가 개를 선택하면 '개'의 인스턴스를 인스턴스화합니다. 그 시점에서 고양이와 마우스는 어떻게 관련되어 있습니까? 'move' 구현은 어떤 서브 클래스가 사용되는지에 따라 다르게 동작합니까? – dano