Inherits Statement
현재 클래스 또는 인터페이스가 다른 클래스나 인터페이스 집합에서 특성, 변수, 속성, 프로시저 및 이벤트를 상속하도록 합니다.
구문
Inherits basetypenames
부분
용어 | 정의 |
---|---|
basetypenames |
필수입니다. 이 클래스가 파생되는 클래스의 이름입니다. 또는 이 인터페이스가 파생되는 인터페이스의 이름입니다. 여러 이름을 구분하려면 쉼표를 사용합니다. |
설명
사용되는 경우 Inherits
문은 클래스 또는 인터페이스 정의에서 공백이 아니고 주석이 아닌 첫 번째 줄이어야 합니다. 이는 Class
또는 Interface
문 바로 뒤에 와야 합니다.
클래스나 인터페이스에서만 Inherits
를 사용할 수 있습니다. 이는 상속에 대한 선언 컨텍스트가 원본 파일, 네임스페이스, 구조체, 모듈, 프로시저 또는 블록이 될 수 없음을 의미합니다.
규칙
클래스 상속. 클래스가
Inherits
문을 사용하는 경우 기본 클래스를 하나만 지정할 수 있습니다.클래스는 그 안에 중첩된 클래스에서 상속할 수 없습니다.
인터페이스 상속. 인터페이스가
Inherits
문을 사용하는 경우 하나 이상의 기본 인터페이스를 지정할 수 있습니다. 두 인터페이스가 각각 동일한 이름을 가진 멤버를 정의하는 경우에도 두 인터페이스에서 상속할 수 있습니다. 그렇게 하는 경우 구현 코드는 이름 자격을 사용하여 구현 중인 멤버를 지정해야 합니다.인터페이스는 더 제한적인 액세스 수준을 가진 다른 인터페이스에서 상속할 수 없습니다. 예를 들어,
Public
인터페이스는Friend
인터페이스에서 상속할 수 없습니다.인터페이스는 내부에 중첩된 인터페이스에서 상속할 수 없습니다.
.NET Framework의 클래스 상속의 예로는 SystemException 클래스에서 상속되는 ArgumentException 클래스가 있습니다. 이는 Message 속성 및 ToString 메서드와 같은 시스템 예외에 필요한 미리 정의된 모든 속성과 프로시저를 ArgumentException에 제공합니다.
.NET Framework의 인터페이스 상속의 예로는 IEnumerable 인터페이스에서 상속되는 ICollection 인터페이스가 있습니다. 이로 인해 ICollection이 컬렉션을 트래버스하는 데 필요한 열거자의 정의를 상속하게 됩니다.
예 1
다음 예에서는 Inherits
문을 사용하여 thisClass
라는 클래스가 anotherClass
라는 기본 클래스의 모든 멤버를 상속할 수 있는 방법을 보여 줍니다.
Public Class thisClass
Inherits anotherClass
' Add code to override, overload, or extend members
' inherited from the base class.
' Add new variable, property, procedure, and event declarations.
End Class
예제 2
다음 예에서는 다중 인터페이스의 상속을 보여 줍니다.
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
이제 thisInterface
라는 인터페이스에는 IComparable, IDisposable 및 IFormattable 인터페이스의 모든 정의가 포함됩니다. 상속된 멤버는 각각 두 개체의 형식별 비교, 할당된 리소스 해제 및 개체 값을 String
으로 표현하는 기능을 제공합니다. thisInterface
를 구현하는 클래스는 모든 기본 인터페이스의 모든 멤버를 구현해야 합니다.
참고 항목
.NET