반응형
SMALL
기반 클래스
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study04
{
class TerrranUnit
{
protected int hp; //파생 클래스 에서만 접근이 가능 or public
//생성자
public TerrranUnit()
{
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study04
{
class Firebat : TerrranUnit
{
//생성자
public Firebat()
{
this.hp = 10;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study04
{
class App
{
//생성자
public App()
{
//업 캐스팅 (암시적 변환이 가능)
TerrranUnit unit = (TerrranUnit)new Firebat(); // new 뒤의 생성자가 호출되는것이니 착각하지 말것
//마치 정수 실수 변환 처럼
int a = (int)13.33f;
//다운 캐스팅
Firebat firebat = (Firebat)new TerrranUnit(); //테란유닛 클래스의 인스턴스가 생성되지 파이어벳클래스 인스턴스가 나오는건 아님
Console.WriteLine(firebat);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study04
{
class App
{
//생성자
public App()
{
Console.WriteLine("App생성자");
Firebat firebat = new Firebat();
TerrranUnit unit = firebat;
Firebat firebat1 = (Firebat)unit;
}
}
}
반응형
LIST
'C# > 수업 내용' 카테고리의 다른 글
1차원 배열 수업내용 (0) | 2023.01.06 |
---|---|
코인획득 (클래스 반환 이용) (0) | 2023.01.06 |
시즈모드 변형시키기 (class이용) (0) | 2023.01.05 |
마린 메딕으로 치유하기 (class 이용) (0) | 2023.01.05 |
2023.1.5 클래스 이용 마린만들기 (0) | 2023.01.05 |