[C#] 다형성 abstract > C#/.Net/Blazor/IIS

본문 바로가기
사이트 내 전체검색

C#/.Net/Blazor/IIS

[C#] 다형성 abstract

페이지 정보

작성자 sbLAB 댓글 0건 조회 4,283회 작성일 18-07-25 17:27

본문


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
 
//다형성 예제
 
public abstract class MusicSever //추상클래스  MusicSever
{
 
    public abstract void Play();//추상메서드 Play() <- 가상메서드
}
 
//MusicSever 상속
public class WinAmpServer : MusicSever
{
    public override void Play()
    {
        Console.WriteLine("WinAmpServer.Play()");
    }
}
 
//MusicSever 상속
public class MediaServer : MusicSever
{
    public override void Play()
    {
        Console.WriteLine("MediaServer.Play()");
    }
}
 
//MusicSever 상속
public class WebServer : MusicSever
{
    public override void Play()
    {
        Console.WriteLine("WebServer.Play()");
    }
}
 
class Program
{
    public static void CallPlay(MusicSever ms)
    {
        ms.Play();
    }
 
    static void Main(string[] args)
    {
 
        //추상클래스의 레퍼런스를 이용-연결 레퍼런스가 가리키는 자식클래스의 Play() 메서드가 수행됨.
        MusicSever ms = new WinAmpServer();
        CallPlay(ms);
        ms = new MediaServer();
        CallPlay(ms);
        ms = new WebServer();
        ms.Play();
        Console.ReadKey();
    }
}


 

댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
494
어제
396
최대
1,279
전체
222,544

그누보드5
Copyright © sebom.com All rights reserved.