2012-12-11 2 views
2

저는 거의 중학교 수준의 프로그래머이며 아직까지 내 경험에서 다형성을 사용하지 않아도되지 않았습니다.C# 다형성 - 이유 및시기

다형성에 대한 기본적인 이해는 다양한 유형의 객체를 처리 할 수있는 기능을 필요로합니다.

나는 왜 누군가가 이것을 만날 수 있을지에 대한 예의 바른 예를 줄 수 있는지 궁금합니다. &.

미안 내 질문이 멍청한 것처럼 보이면, 나는 단지 학습자입니다.

+0

다형성이 필요한 * 경우는 생각할 수 없습니다. 나는 그것이 바람직한 * 경우에만 생각할 수 있습니다. 나는 그것에 대해서도 배우는 것에 관심이있다. – kush

+0

예를 들어 제네릭을 사용한 적이 있습니까? – Esailija

+1

'Stream'을 사용 해본 적이 있습니까? 당신은 아마도 그것을 인식하지 않고서 다형성을 사용했을 것입니다. 그것은 일종의 요지입니다. –

답변

3

다형성은 공통 계약을 할 때 유용하지만 동작은 개체마다 다릅니다. 예를 들어 유비쿼터스적인 "Job"을 생각해보십시오. 당신은 같은 인터페이스를 가질 수 있습니다

public interface IJob { 
    void Execute(JobContext context); 
} 

을 다음과 같은 알 수없는 작업을 실행하는 어떤 등 DataPollingJob하는 MaintenanceJob, EmailJob, BalanceJob 등이 계약을 준수 다양한 작업을 구현 구현이하는 일 또는 수행 방법을 알려주지 만 컨텍스트를 사용하여 Execute을 호출하여 해당 작업의 기능을 수행 할 수 있음을 알고 있습니다.

다형성이 도움이되는 다른 일반적인 시나리오는 메시징에 있습니다. 다양한 유형의 메시지가있을 수 있지만 메시징 인프라가 이해하는 기본 계약을 모두 준수하게됩니다.