상세 컨텐츠

본문 제목

C# 생성자를 여러개 정의할 경우.

C#/Problems

by McRobbin 2020. 4. 16. 17:41

본문

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Study_010
{
    public class Item
    {
        string name;
        public string Name { get { return this.name; } }
 
        int damage;
        public int Damage { get { return this.damage; } }
 
        int upgrade;
        public int Upgrade {get{return this.upgrade;} set{this.upgrade = value;}}
 
        public Item(string name)
        {
            this.name = name;
            this.damage = 10;
        }
 
        public Item(string name, int damage) : this(name)
        {
            this.damage = damage;
        }
 
        public Item(string name, int damage, int upgrade) : this(name, damage)
        {
            this.upgrade = upgrade;
        }
    }
}
 
 
 

 

이와같이 사용할 수 있습니다.

ex) public Item() { }

     public Item(string name) : this() { Console.Write("이름 : {0} ", name); }

     public Item(string name, int damage : this(name) { Console.Write("데미지 : {0} ", damage); }

     public Item(string name, int damage, int upgrade : this(name, damage) { Console.Write("업그레이드 : {0}",             upgrade); }

 

public Item("장검", 10, 3);

결과 : 이름 : 장검 데미지 : 10 업그레이드 : 3

 

미리 정의된 생성자를 밑에서 상속받듯이 사용 가능하다.

관련글 더보기