슈퍼 자바스크립트 클래스

| | | |

Python super() 메서드를 사용하면 자식 클래스 내부의 부모 클래스 메서드에 액세스할 수 있습니다. 이것은 코드의 반복을 줄이는 데 도움이 됩니다. super()는 인수를 사용하지 않습니다. Python과 같은 객체 지향 프로그래밍 언어의 주요 특징 중 하나는 상속입니다. 상속은 새 클래스가 다른 클래스의 코드를 사용하여 새 클래스를 만들 때 발생합니다.

클래스를 상속하면 부모 클래스의 메서드에 액세스할 수 있습니다. 여기에서 수퍼() 함수가 사용됩니다.

이 자습서에서는 예제와 함께 Python의 상속 기본 사항에 대해 설명합니다. 다음으로 값에 대해 수퍼() 함수를 사용하는 방법과 부모 클래스에서 상속하는 메서드에 대해 이야기하겠습니다.

수퍼 파이썬이란?

h2>

Super - Python() 메서드를 사용하면 부모 클래스의 메서드에 액세스할 수 있습니다. super()는 다른 클래스가 상속된 클래스의 메서드를 표시하는 방법으로 생각할 수 있습니다.

다음은 super() 메서드의 구문입니다.

super() 메서드는 인수를 사용하지 않습니다. super() 메서드 다음에 상속할 메서드를 지정합니다. 이전 Python 클래스는 food 클래스의 __init __ () 메서드에서 값을 상속합니다. 우리는 식품 클래스에서 상속된 값에 대해 super() 클래스 메서드를 호출합니다.

Python 상속 은 다음과 같은 프로세스를 나타냅니다. 새 클래스는 기존 클래스의 코드를 사용하여 새 클래스의 구조를 정의합니다.

상속에 대해 생각하는 한 가지 방법은 자녀가 부모로부터 특성을 상속받는 방식을 살펴보는 것입니다. 자녀는 부모와 동일한 머리색을 가질 수 있으며 심지어 부모로부터 성을 상속받을 수도 있습니다.

파이썬에는 두 가지 유형의 클래스가 있습니다.

  • 자식을 위한 클래스(또는 "서브클래스") 메서드와 변수를 상속합니다. 자식 클래스를 자매 클래스라고 하는 경우가 있습니다.
  • 메인 클래스(또는 "기본 클래스")는 값이 상속될 수 있는 클래스입니다.

super () Python:. Inherit from __init __ ()

다음을 유지하는 은행 계좌 시스템을 만든다고 가정해 보겠습니다. 은행에 계좌를 보유한 사람들의 자격 증명을 추적하려면 계좌 확인을 위해 데이터를 저장하는 클래스를 만들고 싶습니다. 이 코드를 사용하여 수행할 수 있습니다.

이 코드는 당좌 계정 프로젝트를 생성합니다.

이제 자녀의 은행 계좌에 대한 프로젝트를 저장하는 클래스를 생성한다고 가정하겠습니다. ChildAccount를 호출합니다. 클래스는 이전에 정의한 CheckingAccount 클래스를 기반으로 해야 합니다. 이렇게 하려면 w e는 수퍼() 기능을 사용할 수 있습니다.

수퍼()를 사용하면 자식 클래스 내에서 부모 클래스의 메서드에 액세스할 수 있습니다.

수퍼() p>

이 예에서 상위 클래스는 CheckingAccount이고 하위 클래스는 ChildAccount입니다. CheckingAccount는 은행 계좌에 대한 프로젝트를 생성하고 ChildAccountCheckingAccount의 값을 상속받아 자체 클래스를 생성합니다.

이제 ChildAccount 클래스가 CheckingAccount에 저장된 값을 상속받기를 원한다고 가정합니다. 하지만 이 계정이 is_child라는 새 값을 저장하기를 원합니다. 이 값은 기본적으로 True여야 합니다.

다음을 사용하여 새 ChildAccount 클래스를 만들 수 있습니다. 이 코드:

이 코드는 새로운 ChildAccount 클래스에 대한 프로젝트를 생성합니다. 수퍼() 메서드를 사용하여 Balance CheckingAccount 클래스의 이름과 값을 상속합니다. 우리는 CheckingAccount 상위 클래스를 클래스의 첫 번째 줄에 있는 괄호 안에 지정합니다.

이것은 super()가 모든 값을 상속할 수 있음을 보여줍니다. 다른 클래스의 Äã`Äã. 그러나 우리 코드에서는 is_child라는 새 값도 선언했습니다. 이 값은 ChildAccount 클래스

자식 계정 소유자를 위한 클래스 인스턴스를 생성하려면 다음 코드를 사용할 수 있습니다.

코드 반환:

Python 변수 lynn에 할당된 ChildAccount 클래스의 인스턴스를 선언했습니다. lynn은 객체를 사용하여 lynn의 값을 선언했기 때문에 클래스 객체입니다.

Lynn의 계정에는 200달러가 있고 값은 is_child은 기본적으로 true입니다. 다음으로 name, balance, is_child 값을 출력했습니다. acc의 Lynn 숙모와 관련이 있습니다. print () Python 메서드를 사용하여 이 값을 콘솔에 출력합니다.

우리가 상속받은 이유 CheckingAccount 클래스의 namebalance를 코드에서 사용할 수 있었습니다. 그러나 Lynn의 계정에는 is_child에 대한 값 집합도 있으며, 이는 ChildAccount의 모든 인스턴스에 대해 기본적으로 True로 설정됩니다.

super() Python: 상속 메서드

super()를 사용하면 클래스가 단일 수준 상속(부모 클래스에서 상속하는 클래스)을 사용하여 상속할 수 있습니다. 또는 다단계 상속과 함께 super()를 사용할 수 있습니다. 이 예에서는 super()를 사용한 단일 수준 상속에 중점을 둘 것입니다.

이전 예에서 super()를 사용하여 상속 CheckingAccount 클래스에 저장된 값을 ChildAccount 클래스에서 사용할 수 있도록 합니다. 하지만 메서드에서 상속하고 해당 응답을 수정하려는 경우

CheckingAccount로 돌아가는 클래스는 처음부터 시작됩니다.

In 이 클래스는 클래스가 저장해야 하는 값(namebalance)에 대한 디자인을 정의했습니다. 사용자가 잔액을 확인할 수 있도록 하는 Checkbalance()라는 메서드를 정의했습니다.

이제 Checkbalance()ChildAccount. "자녀 계정이 있습니다!" 사용자의 잔액이 콘솔에 인쇄되기 전에 나타납니다.

다음과 같이 상속된 메서드에 액세스할 수 있습니다.

Checkbalance () 메서드 ChildAccount 클래스의 새 버전을 선언했습니다. 이 첫 번째 버전은 콘솔에 "자식 계정이 있습니다!"하므로 수퍼() 코드는 모 클래스의 Checkbalance() 에 사용됩니다. .

이 경우 슈퍼()일 때. Checkbalance()가 실행되면 CheckingAccount 클래스의 Checkbalance() 함수가 실행됩니다. 콘솔에 사용자의 잔액이 표시됩니다.

이제 Lynn을 대신하여 Checkbalance() 메서드에 액세스하려고 합니다.

우리 코드는 다음을 반환합니다.

lynn.checkBalance() 메서드를 호출할 때 ChildAccount.checkBalance() 메서드의 코드는 race입니다. , 수퍼 객체는 CheckingAccount.checkBalance() 메소드의 코드를 실행합니다.

수퍼() 함수를 사용하면 상위 메소드를 사용할 수 있는 반면 여전히 자식 클래스에서 이러한 메서드를 재정의할 수 있습니다.

결론

Python 수퍼() 함수를 사용하면 클래스 부모로부터 메서드를 상속할 수 있습니다. super() 함수는 기존 함수의 코드를 재사용할 수 있기 때문에 더 읽기 쉬운 코드를 작성하는 데 도움이 됩니다.

이 튜토리얼에서는 예제와 함께 super() 함수를 사용하는 방법에 대해 설명했습니다. . 부모 클래스에서 값 및 메서드를 상속합니다. 이제 Python 전문가처럼 super() 함수를 사용할 수 있는 지식을 갖추었습니다!

Python 프로그래밍에 대한 추가 리소스는 Python 학습 가이드 .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method