글쎄, 나는 추상적 인 것처럼 인터페이스에서 멤버를 안다. 그러나 사실 그들은 추상적인가? 그 키워드를 사용할 필요가 없기 때문에 암시 적이거나 기술적으로 추상적이 아닌지 확신 할 수 없습니다. 희망적이라고 생각하십니까?인터페이스 멤버가 추상적입니까?
2
A
답변
5
추상이 아닙니다. 인터페이스로 정의 된 계약입니다. "추상"은 수업에만 적용되는 구체적인 의미를 지닙니다.
그들은 클래스의 추상 멤버와 매우 유사하게 동작합니다. 인터페이스를 구현하는 모든 유형은 멤버를 구현하거나 추상화해야합니다.
0
그들은 정의 된 동작이 없다는 의미에서 암시 적으로 추상적입니다. 회원의 서명 만 기술된다.
나는 일리노이에서 어떻게 보일지 잘 모르겠다. (아마도 실제로 알 필요는 없을 것이다.)
2
인터페이스를 구현하는 클래스는 모든 구성원을 구현하거나 자체를 abstract
으로 선언해야하므로 개념 상 추상입니다.
abstract
과 같이 기술적 인 의미에서 이들은 abstract
이 아닙니다.
2
아니요. 추상 메소드는 암시 적으로 가상입니다.
인터페이스 구현이 가상 일 필요는 없습니다. (는 사실.이 불가능할 것이다) 명시 적으로 구현하는 동일 부재 서명 선언 '충돌'인터페이스 (예를 인터페이스하는 것이 가능하다 vtable single dispatch
[1], 단일 VTABLE 슬롯 회 충전 될 수 없기 때문에)와
[1] 가상 상속을위한 고전적 구현 방법
관련 문제
- 1. Lisp와 비교할 때 Objective-C는 얼마나 추상적입니까?
- 2. BC30456 : 'DataItem'은 'System.Web.UI.Control'의 멤버가 아닙니다.
- 3. 'powf'은 (는) 'std'의 멤버가 아닙니다
- 4. C++ : 정적 멤버가 중복 되었습니까?
- 5. VS 메타 데이터보기에 명시 적 인터페이스 구현 멤버가 표시되지 않는 이유
- 6. 인터페이스?
- 7. 인터페이스
- 8. 뷰의 속성을 설정하려고하면 구조체가 아니거나 ... 멤버가 아닌 요청입니다.
- 9. 멤버가 ASP.NET MVC3에서 MVC4로 마이그레이션 할 때 멤버가 로그인 할 수없는 이유
- 10. Actionscript 3.0에서 객체의 멤버가 이벤트를 전달할 경우 해당 멤버가 들어있는 객체에 어떻게 액세스 할 수 있습니까?
- 11. 클래스의 정적 멤버가 만들어지지 않으면 해당 클래스의 정적 멤버가 메모리를 차지합니까?
- 12. 인터페이스 구현 vs. 인터페이스 제공
- 13. 인터페이스 상속 및 하위 인터페이스
- 14. 파이썬 : 클래스 정적 멤버가 자신을 가리키고 있습니까?
- 15. 일반 클래스의 정적 멤버가 형식간에 공유됩니다
- 16. 정적 멤버가 메모리를 가져 오는 경우
- 17. 왜 C++ std :: exception :: what 멤버가 const입니까?
- 18. LINQ : 지정된 형식 멤버가 LINQ에서 지원되지 않습니다.
- 19. 멤버가 4 바이트로 정렬되도록하는 방법은 무엇입니까?
- 20. 유형이 대상이되는 유형 멤버가 될 수 있습니까?
- 21. 두 멤버가 액세스하려고하면 레코드를 잠그는 방법은 무엇입니까?
- 22. "오류 : 'struct udphdr'에 'source'라는 멤버가 없습니다."... 허?
- 23. 어떻게 든 싱글 톤 클래스의 멤버가 출시됩니까?
- 24. EJB-QL 3의 멤버가 작동하지 않습니다.
- 25. 정적 데이터 멤버가 초기화되지 않는 이유는 무엇입니까?
- 26. 클래스 멤버가 콜백 함수가있는 함수 템플릿을 호출합니다.
- 27. 템플릿 내부 상속 - 공용 멤버가 보이지 않게됩니까?
- 28. PHP 정적 멤버가 값을 보유하지 않음
- 29. PHP - 얼마나 많은 멤버가 배열에 있습니까?
- 30. std :: thread error (스레드가 std의 멤버가 아닙니다)
+1. 잘 부름, 그것은 중요한 차이입니다. 실제로 상충되는 * 구현을 구현할 수도 있습니다. 여기서 더 파생 된 클래스는 부모 클래스에 구현 된 인터페이스를 다시 구현합니다. Hilarity가 계속됩니다. –
너무 사실입니다. 그러나 명시 적 인터페이스 구현을 사용하면 클라이언트는 일반적으로 알지 못합니다. 왜냐하면 그는 자신이 기대하는 IInterestingInterface 만 가져 오기 때문입니다. IMHO 명시 적 인터페이스는 다소 쓸모 없게되었습니다. 3.5 클래스에서 고정 된 _closures_ 또는 Java 스타일의 정적이 아닌 내부 클래스 (_nested_)를 보완하기 위해 클래스에서 사용해야 할 필요성을 느꼈습니다. 오, 우리가 누락 된 기분은 Enumerables, Queryables, Observables 사이의 혼란으로 크게 보완 될 것입니다. Observables는 미묘하게 다르며 새로운 재미있는 의미 론적 놀라움을 창출 할 것입니다. 미래의 증거! – sehe