C Sharp Rookiss Part1 기초 프로그래밍 입문 : 상속성
🙇♀️상속성
- 부모 클래스와 자식 클래스
- 부모 클래스 내의 필드와 함수 모두 물려 받는다
🪐this와 base
- this
- class 내의 생성자가 필드의 변수를 사용할때 명시적으로 알려줌
class Knight : Player { int c; public Knight() { this.c = 10; } }
- class 내의 생성자가 필드의 변수를 사용할때 명시적으로 알려줌
- base
- 부모 클래스의 변수를 사용할 때 알려줌
class Player
{
public Player(int hp)
{
this.hp = hp;
}
}
class Knight : Player
{
public Knight() : base(100)
{
base.hp = 100;
}
}
base()만 적었다면 부모 클래스의 생성자중 매게변수가 없는 버전을 물려받음
전체코드
namespace CSharp
{
class Player
{
public int hp;
public int attack;
public Player()
{
Console.WriteLine("Player 생성자 호출!");
}
public Player(int hp)
{
this.hp = hp;
Console.WriteLine("Player hp 생성자 호출!");
}
}
class Knight : Player
{
int c;
public Knight() : base(100)
{
this.c = 10;
base.hp = 100;
Console.WriteLine("Knight 생성자 호출!");
}
static public Knight CreateKnight()
{
Knight knight = new Knight();
knight.hp = 100;
knight.attack = 10;
return knight;
}
public void Move()
{
Console.WriteLine("Knight 이동!");
}
}
class Program
{
static void Main(string[] args)
{
Knight knight = Knight.CreateKnight();
}
}
}