C의 메서드 또는 속성 숨김의 장점과 단점은 무엇입니까?장점과 단점은 C# 숨어있는 메서드?
0
A
답변
2
new
키워드를 사용하여 숨기는 방법은 다형성을 깨는 효과가 있습니다. 메서드 숨기기를 사용하는 경우 기본 형식이나 인터페이스를 통해 메서드에 액세스 할 때 숨겨진 동작을 호출 할 수 없습니다.
void Main()
{
var nohiding = new NoHiding();
var hiding = new Hiding();
nohiding.DoSomething(); // "Overridden Method"
hiding.DoSomething(); // "Hidden Method"
var nohidingAsBase = (Base) nohiding;
var hidingAsBase = (Base) hiding;
nohidingAsBase.DoSomething(); // "Overridden Method"
hidingAsBase.DoSomething(); // "Base Method"
}
public class Base
{
public virtual void DoSomething()
{
Console.WriteLine("Base Method");
}
}
public class NoHiding : Base
{
public override void DoSomething()
{
Console.WriteLine("Overriden Method");
}
}
public class Hiding : Base
{
new public void DoSomething()
{
Console.WriteLine("Hidden Method");
}
}
귀하의 장점/단점에 관해서는 명확한 목록이 없습니다. 메소드 숨기기는 거의 사용되지 않았으며, goto
키워드와 약간 비슷하다고 할 수 있습니다. 일반적으로 사용하는 것이 아니라 특정 상황에서 매우 도움이 될 수 있습니다.
2
속성 숨기기에는 이점이 없다고 생각합니다. 기본 클래스의 속성이나 메서드가 가상 또는 추상으로 정의되지 않았거나 메서드가 반환 형식에 따라 기본 클래스 메서드와 다른 경우이 작업을 수행해야합니다. 단점은 분명합니다. 기본 클래스 메서드가 여전히 존재하므로 클래스 사용자가 메서드를 사용하도록 할 수있는 방법이 없습니다.
관련 문제
- 1. C# 클래스에 숨어있는 메서드
- 2. javascript에서 익명 메소드의 장점과 단점은 무엇입니까?
- 3. 두 가지 JavaScript 패턴의 장점과 단점은 무엇입니까?
- 4. xUnit 또는 NUnit? 서로 장점과 단점은 무엇입니까?
- 5. Nginx 이미지 캐싱의 장점과 단점은 무엇입니까?
- 6. Fpgui와 lcl 및 qt, 장점과 단점은 무엇입니까?
- 7. 는 장점과 C#으로
- 8. 파이썬 2.54-6에서리스트 이해력을 사용하는 데있어서 장점과 단점은 무엇입니까?
- 9. iPhone : CSS/Javascript로 개발할 때의 장점과 단점은 무엇입니까?
- 10. Java의 정적 블록에서 Object를 만들 때 장점과 단점은 무엇입니까?
- 11. SQL 서버 쿼리에서 NOCOUNT를 끄면 얻을 수있는 장점과 단점은 무엇입니까?
- 12. 서비스를 구성 요소와 비교할 때 장점과 단점은 무엇입니까?
- 13. JQuery 및 Glow JavaScript 라이브러리의 장점과 단점은 무엇입니까?
- 14. 장점과
- 15. 여러 루프가있는 장점과 단점
- 16. 숨어있는 XML
- 17. 장점과 일반적인 정의 예외
- 18. 정보가 숨어있는 파이썬
- 19. 장점과 DAL
- 20. 클릭했을 때 숨어있는 요소
- 21. 키보드 뒤에 숨어있는 UITextField
- 22. 장점과 C#에서이 키워드를 사용하는 단점
- 23. CppUnit - xUnit 기반 디자인의 장점과 단점?
- 24. Microsoft는 다음을 요구합니다 : 단일 목록 또는 이중 목록? 각각의 장점과 단점은 무엇입니까?
- 25. 단일 웹 서비스에서 더 많은 WebMethod를 갖는 데 따른 장점과 단점은 무엇입니까?
- 26. Tomcat 요청 처리 인스턴스의 장점/단점은 무엇입니까?
- 27. 자신의 서버 대 Apache의 장점과 단점?
- 28. Json 객체에 대해 생성 된 C# 클래스의 장점과 단점
- 29. C++에서 정적 메서드 만 사용하는 클래스의 장점
- 30. 웹 서비스 대 DLL; 장점과 단점?
공개 수정 대 개인 수정자를 사용 하시겠습니까? – rekire
속성 숨기기가 아닙니다. 파생 클래스에서. 기본 클래스의 메서드 속성을 숨길 수 있습니다. –