와 속성 내가 espacially 상속, C#의 속성에 대한 혼란 스러워요 :클래스 변수 및 상속
나는 예로서 포켓몬 클래스를 가지고 있고 (예를 들어 통계는 서브 클래스에서이를 수정하기 위해 보호되어야 할 수준 ups에) 나는 외부에서 stats를 읽고 싶다. 짧은 형식이 거기에 있습니다 :
// base class
abstract class Pokemon
{
// stats
protected int hp;
public int Hp {
get
{
return hp;
}
protected set
{
hp = value;
}
}
// other stats...
}
내 질문은 :
이 할 수있는 자세한 방법이 될 것이다? 예 :
// base class
abstract class Pokemon
{
// stats
public int Kp { get; protected set; }
// other stats...
}
이 두 클래스는 비슷하게 작동합니까?
나는 때문에 공공 getter 및 setter 당신이 쓰기에 대한 혼란 스러워요 :
// base class
abstract class Pokemon
{
// stats
public int Kp { get; set; }
// other stats...
}
그리고 그것은 다음과 같이 작동 하나 내가 선호한다
// base class
abstract class Pokemon
{
// stats
private int kp;
public int Kp {
get
{
return kp;
}
set
{
kp = value;
}
}
// other stats...
}
?
가 왜 혼란을 사용하지 않는? 어떻게 다르게 작동합니까? – SLaks
왜 귀하의 후원 필드가 '보호'됩니까? – SLaks
"내 질문은 : 이것에 대한 짧은 양식이 있습니까?"당신이 그것을 시도해 봤니? 물론 자동 속성은 다른 접근 수정자를 가질 수 있습니다. – HimBromBeere