2019년 6월 1일 토요일

추상클래스(C#)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
예제
 
 
 
동물들은 울수 있지만 동물 그 자체는 우는 방식을 결정할 수 없다.
 
그래서 animal의 sound메서드는 본체를 가지지 않는 추상 메서드로 정의
 
동물들은 분형히 울기는 우는데 어떻게 우는지는 Animal단계에서는 정의할수 없고
 
아래 단계까지 내려가야함
 
 
 
namespace Abstract
 
{
 
    abstract class Animal
 
    {
 
        public abstract void sound();
 
    }
 
 
 
    class Dog : Animal
 
    {
 
        public override void sound()
 
        {
 
            Debug.Log("멍멍");
 
        }
 
    }
 
    class Cat : Animal
 
    {
 
        public override void sound()
 
        {
 
            Debug.Log("야옹");
 
        }
 
    }
 
 
 
    class temp : MonoBehaviour
 
    {
 
        private void Start()
 
        {
 
            Abstract.Animal A;
 
            A = new Abstract.Dog(); A.sound();
 
            A = new Abstract.Cat(); A.sound();
 
        }
 
    }
 
    
 
}
 
 
 
출처 : 가메출판사, 닷넷 프로그래밍 정복, 김상형 저
cs

댓글 없음:

댓글 쓰기

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...