2014-08-31 4 views
0

BaseMonster라는 추상 클래스가 있습니다. 이 "기본"클래스는 float dyingTime = 2와 같은 여러 값을 포함하며 모든 몬스터 하위 클래스에서 동일합니다. 그러나 이처럼 많은 가치가 있기 때문에, 당신이 "새로운"괴물 일 때 그들을 객체 호출에 전달하고 싶지 않았습니다.하위 클래스 내에서 기본 클래스에 액세스하는 방법?

내 질문은 : BaseMonster에서 상속하는 Ghoul 하위 클래스에 대해 어떻게 BaseMonster에서 dyingTime 값을 가져올 수 있습니까?

EDIT : 일반 BaseMonster와 다른 특정 동작 계산을 실행하려면 Ghoul에이 값을 지정해야합니다.

답변

0

상속의 개념 (Ghoul의 기본 클래스 인 BaseMonster)과 어디에서 액세스 할 수있는 필드, 메서드 및 속성을 제어하는 ​​액세스 한정자를 연구해야합니다.

public class Base 
{ 
    private float a; 
    protected float b; 
    public float c; 

} 


public class Sub : Base 
{ 
    public void DoSomething() 
    { 
     float x = base.a; // Error cannot access private member a 

     // Note that putting base before b and c here is optional 
     // though it does help with naming conflicts 
     // if Sub would also have a member b you could differentiate the two 
     // using this.b and base.b 
     float y = base.b; // Works 
     float z = base.c; // Works 
    } 
} 
+0

감사합니다 : 당신은 모든 액세스 수정

here을 찾을 수 있습니다

또한이 간단한 예제를 참조하십시오! 나는 가이드 북이나 C#에 대한 것이 없으므로, 학습은 매우 특별했습니다 ... 그러나 이것은 훌륭한 예입니다. – steelfeathers

관련 문제