2012-02-21 4 views
0

저는 약 2 ~ 3 년 동안 프로그램을 만들었습니다. 실제로는 액션 스크립트 atm에서 게임을 개발 중입니다. 나는 이름, 레벨, 경험, 피해, 수비 등과 같은 필드가있는 캐릭터 클래스를 가지고있다. 지금은 파생 된 클래스가 그들을 볼 수 있도록 보호 된 클래스를 만들었고 getters와 setter를 사용하여 캡슐화했습니다. 따라서 다른 클래스는 getter 만 볼 수 있습니다. 그러나 액션 스크립트에서는 접근자를 보호 할 수 없으므로 공개되어야합니다. 그런데 어쨌든 누군가를보고 편집 할 수 있다면 접근자를 사용해야합니까? 그냥 캡슐화를 건너 뛰고 공개 필드로 가서 설정시 다른 문장을 사용해야하는자를 캡슐화해야합니다. 예를 들어 경험 필드를 늘리면 레벨이 올라간 동안 확인해야합니다.접근자를 사용해야하나요 그렇지 않나요?

저는 다른 클래스의 개인/보호 된 접근자를 볼 수 없으므로 코딩이 더 쉽기 때문에 C#의 접근자를 좋아합니다.

접근 자에 대해 숙련 된 프로그래머 의견을 갖는 것이 좋을 것입니다.

답변

1

액세서는 위대한 컨벤션이지만, 나는 그걸 따라 할 필요가 없다고 생각합니다.

더 나은 API를 사용하면 이점을 얻을 수 있습니다. 즉, IncreaseLevel() 함수가하는 일은 매우 분명합니다.

또한 코드의 다른 부분에 유연성을 줄 수 있습니다. 예를 들어 레벨을 올릴 때마다 특정 애니메이션이 발생하기를 원하면 IncreaseLevel() 함수에서 발생할 수 있습니다. 전체적으로, 나는 그것을 추천한다.

관련 문제