public abstract class Character
{
protected Weapon weapon;
public string Name;
public int Health = 10;
public int Strength;
public Character()
{
}
public void Attack()
{
weapon.useweapon();
}
}
public class Warrior : Character
{
public Warrior()
{
weapon = new Sword();
Health = 10;
Strength = 25;
}
public void SetWeapon(Weapon newweapon)
{
weapon = newweapon;
}
}
public class Wizard : Character
{
public Wizard()
{
weapon = new Spell();
Health = 15;
Strength = 10;
}
}
위에서 볼 수 있듯이 추상 문자 클래스와 두 개의 문자 하위 클래스가 있습니다. 이 프로그램에서는 전사 만이 무기를 바꿀 수 있습니다.자체 클래스 대신 상속 된 추상 클래스로 객체를 선언하는 이유
Warrior Zizo = new Warrior();
Wizard Hang = new Wizard();
Zizo.SetWeapon(new Axe()); //I can only use this method in this implementation
는 IS 무엇 -하는 대신
Character Zizo = new Warrior();
Character Hang = new Wizard();
:이 사용하는 것이 왜 지금, 내가, 코드 자체를 논의하기 위해 찾는 게 아니에요 내가 알고 싶은 것은 내 구현 코드에서, 두 클래스 간의 차이점과 추상 클래스로 객체를 선언하면 어떤 이점을 얻을 수 있습니까?
OO 개념에 대한 확고한 이해가없는 것 같습니다. 주제에 관한 책을 읽을 때 약간의 시간을 투자 할 가치가 있습니다. – R0MANARMY
왜 그렇게 생각하는지 말해 주시겠습니까? – Zizo47