2019-10-17 19일차 클래스의 상속
Console Programming/C# Console 2019. 10. 17. 14:16Ashe 와 Garen 클래스가 Champion클래스를 상속받아서
Champion의 Attack 메서드를 재정의하고, 사용하고 있다.
부모클래스의 멤버에 엑세스하려면 base. 을 사용한다.
Program.cs
namespace Syntax03
{
class Program
{
static void Main(string[] args)
{
new App();
}
}
}
App.cs
namespace Syntax03
{
public class App
{
public App()
{
Ashe ashe = new Ashe();
Garen garen = new Garen();
ashe.name = "애쉬";
ashe.damage = 10;
garen.name = "가렌";
garen.damage = 15;
ashe.Attack(garen);
garen.Attack(ashe);
}
}
}
Champion.cs
using System;
namespace Syntax03
{
public class Champion
{
public string name;
public int damage;
public Champion()
{
}
public virtual void Attack(Champion target)
{
target.hit(this.damage);
}
public void hit(int damage)
{
Console.WriteLine($"{damage}만큼 데미지를 입었습니다.");
}
}
}
Ashe.cs
using System;
namespace Syntax03
{
public class Ashe : Champion
{
public Ashe()
{
}
public override void Attack(Champion target)
{
base.Attack(target);
Console.WriteLine($"{this.name}이 활을 쏘며 {target.name}을 공격합니다");
}
}
}
Garen.cs
using System;
namespace Syntax03
{
public class Garen : Champion
{
public Garen()
{
}
public override void Attack(Champion target)
{
base.Attack(target);
Console.WriteLine($"{this.name}이 검을 휘두르며 {target.name}을 공격합니다");
}
}
}
'Console Programming > C# Console' 카테고리의 다른 글
2019-10-17 19일차 클래스의 상속 (3) 부모의 생성자 상속 (0) | 2019.10.17 |
---|---|
2019-10-17 19일차 클래스의 상속 (2) + get, set 사용 (0) | 2019.10.17 |
2019-10-17 19일차 get,set 몬스터와 몬스터데이터 get,set으로 만들고 접근하기 (0) | 2019.10.17 |
2019-10-17 19일차 get,set (0) | 2019.10.17 |
2019-10-16 Json에 데이터 추가하기 쿠키런캐릭터 (0) | 2019.10.16 |