인터페이스 구현에서 정적 메소드에 대한 C#의 제한 이해
c# 몇 가지 주요 이유로 인해 인터페이스 구현에 정적 메소드가 포함되는 것을 방지합니다.
시맨틱 불일치 : 인터페이스는 객체 동작을 정의합니다. 특정 인스턴스와 독립적으로 작동하는 정적 방법은이 기본 원칙과 모순됩니다. 인터페이스는 공유 기능이 아닌 개별 객체 기능을 설명합니다.
계약 무결성 : 인터페이스는 클래스 계약으로 작용합니다. 정적 방법을 제외하면이 계약은 일반적인 정적 추상화가 아닌 구현 클래스의 모든 인스턴스에 일관되게 적용되도록합니다.
예시 예 : Animal
및 person
제공된 예제는 Animal
person 가
스크린 이름 메소드를 다르게 구현할 수있는 방법을 보여줍니다.
:
정적 스크린 이름 메소드는 모든 동물 대상의 일반적인 이름을 나타냅니다.
:
인스턴스 메소드는 각 사람의 개체에 대해 고유 한 이름을 허용합니다.
가 일정한 속성을 갖는
동물 내에서 일정한 속성을 정의하고
screename ()에서 그 가치를 반환하고 스크린 이름 ()에서 그 값을 반환하고, 인터페이스 규칙에 맞게 정적 이름을 유지하는 동안 정적 이름을 유지합니다.
.
요약 :
C#의 인터페이스 구현에서 정적 메소드에 대한 제한은 인터페이스의 의미 론적 무결성을 개별 개체의 계약으로 유지합니다. 이것은 모든 구현 클래스에서 일관된 행동을 보장합니다.부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3