2012-09-11 3 views
2

클래스 생성자가 변수의 기본값을 설정하는 가장 좋은 위치입니까?변수의 기본값을 설정하는 좋은 장소는 무엇입니까?

제가 상속 한 대부분의 코드에서 그럴 것 같습니다.

public class foo 
{ 
    public bool IsAcidic { get; set; } 

    public foo() 
    { 
     IsAcidic = false; 
    } 
} 

이 당신이 그것을 얼마나 있습니까?

+0

@Adam 코드 형식을 어떻게 지정 했습니까? 실제로 많은 공간을 입력 했나요, 아니면 모르는 탭에 관한 것이 있습니까? – abhi

+1

보세요 : [코드 블록을 어떻게 포맷합니까?] (http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks) –

답변

4

특정 개체의 모든 인스턴스에 일부 기본값을 할당하려면 생성자가 기본값을 할당하는 가장 적합한 장소이지만 유형의 기본값을 필드에 할당하려면 다음과 같이하십시오. 너는 아무 것도 할 필요가 없다. 필드는 생성자 앞에있는 유형의 기본값으로 초기화됩니다. 예를 들어 int 유형 필드가있는 경우 기본값으로 0이 할당되며 생성자에서 아무 것도하지 않아도됩니다.

0

가능한 한 변수의 생성에 가까운 값을 (명시 적으로 또는 암시 적으로) 값으로 설정해야합니다.

이것은 C99 (한 예로)가 빛나기 시작한 곳입니다. 이 시점까지 함수의 시작 부분에 변수를 작성해야했지만, 그 시점에서 무엇을해야하는지 모를 수도 있습니다. 이 연결을 끊음으로써 어떤 변수가 어떤 값으로 설정되었는지 추적하는 것이 어려웠습니다. C99에서 중간 기능을 수행하는 새로운 변수를 생성 할 수있는 기능이 도입되면이 연결이 끊어졌습니다.

예를 들어, 변수가 존재하게되는 곳에서 생성자의 기본값을 설정하는 것이 가장 좋습니다.

은 (예를 들어,가 init 메서드 호출에 이루어집니다), 다음 즉, 기본값이 아니다 생성자에서 그것을하지 당신이 경우 단순히 그 변수가 다른 값으로 설정되는 시간이 있기 때문에 .

관련 문제