Python-자식 클래스 인스턴스에서 슈퍼 클래스의 메서드를 어떻게 호출 할 수 있습니까?

프림

자식 클래스에 부모 클래스의 메서드와 이름이 같은 메서드가있는 경우 자식 클래스의 메서드가 부모 클래스의 메서드를 재정의합니다.

자식 클래스 정의에서 부모 클래스의 메서드는 super().

그러면 자식 클래스 Instance에서 부모 클래스의 메서드에 액세스 할 수 있습니까?

class Person:
    def print(self):
        print("Message from Person")

class Student(Person):
    def print(self):
        print("Message from Student")\

s = Student()
# Method of Student Class Instance
s.print()  # Output: "Message from Student"

# I want to call method "print" of Person
# from student Instance
# How can I call it?
s.super().print()  # ERROR
super(s).print()  # ERROR
mapf

다른 방법으로 부모 클래스에 액세스 할 수있는 방법이 전혀 없다면 그렇게 할 수있을 것 같지만 절대 권장 하지 않습니다 .

class Person:
    def print(self):
        print("Message from Person")


class Student(Person):
    def print(self):
        print("Message from Student")


s = Student()
# Method of Student Class Instance
s.print()  # Output: "Message from Student"
s.__class__.__base__.print(s.__class__.__base__)  # Output: "Message from Person"

이 슈퍼 해키 것을 이해해야하고, 그것의 경우와 같이 사용하면, 인스턴스의 메소드를 호출하지 않는 것이 s.print()아니라있는 방법,하지만 당신은는 uninstantiated 클래스의 메소드를 호출하는 classmethod(또는 staticmethod그것을 위해를 문제) 클래스에 인수 (즉, self인수)로 전달합니다. 매우 다른 구문입니다.

다시 말하지만, 메서드를 재정의하는 대신 다른 이름을 지정하는 것이 훨씬 더 합리적입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python 슈퍼 클래스에서 메서드를 실행할 때이를 호출 한 자식 클래스의 이름을 어떻게 알 수 있습니까?

분류에서Dev

어떻게 자바에서, 슈퍼 클래스의 서브 클래스의 메소드를 호출합니까?

분류에서Dev

Typescript에서 슈퍼 생성자를 호출 한 후 자식 클래스 인스턴스에서 속성에 액세스 할 수 없습니다.

분류에서Dev

어떻게 슈퍼 클래스의 서브 클래스와 다형성을 할 수 있습니까?

분류에서Dev

어떻게 자식 클래스는 롬복에서 올바른 슈퍼 생성자를 호출 할 수 있도록?

분류에서Dev

기본 클래스 개체에 대한 파생 클래스 포인터는 파생 클래스의 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

기본 클래스 개체에 대한 파생 클래스 포인터는 파생 클래스의 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

같은 클래스의 다른 메서드에서 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

Java의 수퍼 클래스에서 서브 클래스 메소드를 어떻게 호출합니까?

분류에서Dev

어떻게 Object 클래스는 서브 클래스의 슈퍼 클래스가 될 수 있습니까?

분류에서Dev

파생 클래스에서 슈퍼 클래스의 공용 메서드를 @Override 할 수 있습니까?

분류에서Dev

부모 클래스의 함수가 클래스 메서드 또는 자식 클래스의 인스턴스 메서드에 의해 호출되었음을 어떻게 알 수 있습니까?

분류에서Dev

클래스는 싱글 톤 클래스에 정의 된 클래스 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

슈퍼 클래스의 멤버 함수가 서브 클래스의 멤버 함수에 액세스 할 수 있습니까? 그리고 어떻게?

분류에서Dev

"super"키워드를 사용하거나 서브 클래스의 메서드에서 로컬로 슈퍼 클래스 메서드를 호출 할 때 슈퍼 클래스 인스턴스를 사용합니까?

분류에서Dev

익명 클래스에서 정의한 추가 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

Java 익명 클래스에서 재정의 된 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

수퍼 클래스에서 어떻게 확장 할 수 있습니까? (자바)

분류에서Dev

Java의 자식 클래스 메서드에서 super 키워드를 사용하여 슈퍼 클래스 생성자를 호출 할 수없는 이유는 무엇입니까?

분류에서Dev

자바 : 다른 클래스의 한 클래스에서 인스턴스화 된 객체를 어떻게 사용할 수 있습니까?

분류에서Dev

클래스 내에서 함수를 어떻게 호출 할 수 있습니까?

분류에서Dev

Android에서 한 클래스의 메서드를 다른 클래스로 어떻게 호출 할 수 있습니까?

분류에서Dev

파이썬의 다른 클래스에서 클래스 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

해당 클래스의 새 객체를 생성하지 않고 클래스의 인스턴스 메서드를 호출 할 수 있어야합니까?

분류에서Dev

수퍼 클래스의 배열에서 서브 클래스를 호출 할 수 있습니까?

분류에서Dev

Flutter : 다른 클래스에서 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

다른 Objective-C 클래스에서 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

수퍼 클래스를 원하는 메서드의 인수로 서브 클래스를 어떻게 전달할 수 있습니까?

분류에서Dev

내장 클래스를 어떻게 수퍼 클래스 할 수 있습니까?

Related 관련 기사

  1. 1

    Python 슈퍼 클래스에서 메서드를 실행할 때이를 호출 한 자식 클래스의 이름을 어떻게 알 수 있습니까?

  2. 2

    어떻게 자바에서, 슈퍼 클래스의 서브 클래스의 메소드를 호출합니까?

  3. 3

    Typescript에서 슈퍼 생성자를 호출 한 후 자식 클래스 인스턴스에서 속성에 액세스 할 수 없습니다.

  4. 4

    어떻게 슈퍼 클래스의 서브 클래스와 다형성을 할 수 있습니까?

  5. 5

    어떻게 자식 클래스는 롬복에서 올바른 슈퍼 생성자를 호출 할 수 있도록?

  6. 6

    기본 클래스 개체에 대한 파생 클래스 포인터는 파생 클래스의 메서드를 어떻게 호출 할 수 있습니까?

  7. 7

    기본 클래스 개체에 대한 파생 클래스 포인터는 파생 클래스의 메서드를 어떻게 호출 할 수 있습니까?

  8. 8

    같은 클래스의 다른 메서드에서 메서드를 어떻게 호출 할 수 있습니까?

  9. 9

    Java의 수퍼 클래스에서 서브 클래스 메소드를 어떻게 호출합니까?

  10. 10

    어떻게 Object 클래스는 서브 클래스의 슈퍼 클래스가 될 수 있습니까?

  11. 11

    파생 클래스에서 슈퍼 클래스의 공용 메서드를 @Override 할 수 있습니까?

  12. 12

    부모 클래스의 함수가 클래스 메서드 또는 자식 클래스의 인스턴스 메서드에 의해 호출되었음을 어떻게 알 수 있습니까?

  13. 13

    클래스는 싱글 톤 클래스에 정의 된 클래스 메서드를 어떻게 호출 할 수 있습니까?

  14. 14

    슈퍼 클래스의 멤버 함수가 서브 클래스의 멤버 함수에 액세스 할 수 있습니까? 그리고 어떻게?

  15. 15

    "super"키워드를 사용하거나 서브 클래스의 메서드에서 로컬로 슈퍼 클래스 메서드를 호출 할 때 슈퍼 클래스 인스턴스를 사용합니까?

  16. 16

    익명 클래스에서 정의한 추가 메서드를 어떻게 호출 할 수 있습니까?

  17. 17

    Java 익명 클래스에서 재정의 된 메서드를 어떻게 호출 할 수 있습니까?

  18. 18

    수퍼 클래스에서 어떻게 확장 할 수 있습니까? (자바)

  19. 19

    Java의 자식 클래스 메서드에서 super 키워드를 사용하여 슈퍼 클래스 생성자를 호출 할 수없는 이유는 무엇입니까?

  20. 20

    자바 : 다른 클래스의 한 클래스에서 인스턴스화 된 객체를 어떻게 사용할 수 있습니까?

  21. 21

    클래스 내에서 함수를 어떻게 호출 할 수 있습니까?

  22. 22

    Android에서 한 클래스의 메서드를 다른 클래스로 어떻게 호출 할 수 있습니까?

  23. 23

    파이썬의 다른 클래스에서 클래스 메서드를 어떻게 호출 할 수 있습니까?

  24. 24

    해당 클래스의 새 객체를 생성하지 않고 클래스의 인스턴스 메서드를 호출 할 수 있어야합니까?

  25. 25

    수퍼 클래스의 배열에서 서브 클래스를 호출 할 수 있습니까?

  26. 26

    Flutter : 다른 클래스에서 메서드를 어떻게 호출 할 수 있습니까?

  27. 27

    다른 Objective-C 클래스에서 메서드를 어떻게 호출 할 수 있습니까?

  28. 28

    수퍼 클래스를 원하는 메서드의 인수로 서브 클래스를 어떻게 전달할 수 있습니까?

  29. 29

    내장 클래스를 어떻게 수퍼 클래스 할 수 있습니까?

뜨겁다태그

보관