C#/실습으로 다지는 C#

[018] C# 실현 관계(Realization) 실습

언제나 휴일 빅데이터 언제나휴일 2020. 4. 10. 12:10
반응형

실현 관계 실습 클래스 다이어그램

소스 코드

IStudy.cs

namespace 실현_관계
{
    interface IStudy
    {
        void Study();
    }
}

Man.cs

namespace 실현_관계
{
    class Man
    {
        string name;
        public Man(string name)
        {
            this.name = name;
        }
        public override string ToString()
        {
            return name;
        }        
    }
}

Student.cs

using System;

namespace 실현_관계
{
    class Student : Man, IStudy
    {
        readonly int sn;
        public Student(string name,int sn):base(name)
        {
            this.sn = sn;
        }
        public void Study()
        {
            Console.WriteLine("{0} 공부합니다.",this);
        }
        public override string ToString()
        {
            return string.Format("{0}번 이름:{1}", sn, base.ToString());
        }
    }
}

Gorilla.cs

using System;

namespace 실현_관계
{
    class Gorilla : IStudy
    {
        public void Study()
        {
            Console.WriteLine("나도 공부한다. 쿵쾅 쿵쾅");
        }
    }
}

Program.cs

//http://ehpub.co.kr
//실습으로 다지는 C#
//실현 관계(Realization)

using System;

namespace 실현_관계
{
    class Program
    {
        static void Main(string[] args)
        {
            Student student = new Student("홍길동",1);
            Gorilla gorilla = new Gorilla();
            Console.WriteLine("생성한 학생:{0}", student);

            Test(student);
            Test(gorilla);
        }
        static void Test(IStudy istudy)
        {
            istudy.Study();
        }
    }
}

 

 

 

[실습으로 다지는 C#] 18. 실현 관계(Realization) 실습 – 언제나 휴일

 이번 강의는 실현(Realization) 관계 실습입니다.  실현 관계는 기능을 약속한 형식과 이를 구체적으로 구현한 형식 사이의 관계입니다. 결국 인터페이스와 인터페이스에 약속한 기능을 구현한 형식 사이의 관계입니다. 기능을 약속한 형식과 약속한 기능을 구체적으로 구현한 형식 사이의 관계  이러한 실현 관계로 표현하였을 때 가장 큰 장점은 같은 방법으로 사용할 수 있다는 것입니다.  다음은 이번 실습에서 표현할 클래스 다이어그램입니다.  클래스 다이어

ehpub.co.kr

 

반응형