2014-02-19 1 views
1
currentColor = getCarColor(this.car.color) 

여기 color은 비공개이며 getCarColor은 방법입니다. 변수 color에 어떻게 액세스합니까?메소드에서 private 변수에 액세스하려면 어떻게해야합니까?

+4

캡슐을 나누기 그. 당신이 아주 좋은 이유가 없다면,하지 마십시오. 좋은 이유가 있다면 반성을 사용할 수 있습니다. –

+0

그 이유는 클래스의 변수에 setter 및 getter를 직접 액세스하는 대신에 –

+1

private 변수가 자신이 소유 한 클래스 안에 있으면 클래스에 getter 메서드를 추가하지 않는 이유는 무엇입니까? – jonhopkins

답변

3

사적인 변수에 직접 액세스하면 안됩니다. 사유로 인해 사적인 변수가 비공개로 설정되어서는 안됩니다.

을 수행하는 적절한 방법은 차에 색상에 대한 공공 접근 방법을 추가하는 것입니다

class Car { 
    private Color color; 
    // Add this method: 
    public Color getColor() { return color; } 
} 
+0

getCarColor (get ... getCarColor) 메소드는 이미 공개 getter 메소드가 있습니다.하지만 이해하지 못했습니다. – tarutao

+0

@ user3328737 당신은'this.car.getCarColor()'와 같이 호출하고있다, 맞습니까? – dasblinkenlight

+0

@ user3328737 아무튼 환영합니다. 이 문제에 대한 도움이 더 이상 필요하지 않은 경우 다른 사이트 방문자에게 더 이상 대답을 찾지 말라는 대답을 수락하는 것이 좋습니다. – dasblinkenlight