2012-04-18 2 views
-2

정적 클래스는 객체의 인스턴스에서 작동하지 않아야합니다. 그런 다음, "작업 한"객체의 인스턴스를 식별합니까? 이것은 구체적입니다 (즉, 메소드의 매개 변수에 새로운 ObjectA()를 전달). 그래서 이것이 제가 보는 것이라면, 클래스는 정적이어서는 안됩니다."객체의 인스턴스에서 작동하는"클래스 식별

감사

+4

이 질문은 너무 애매합니다. 코드 예제를 제공 할 수 있습니까? –

+0

귀하의 질문이 무엇인지 확실하지 않습니다 ... 어딘가에서 어떤 종류의 지침? 즉, 확장 방법은 일종의 "객체 인스턴스에 대한 작업"을 의도적으로 지정합니다. –

+0

모든 것이 일부 객체의 인스턴스에서 작동합니다. 너무 과장하여 문맥 밖에서도 의미가있는 것처럼 들리지는 않습니다. – NSGaga

답변

1

정적 클래스는 단순히 객체의 하나의 인스턴스 만이 있음을 의미한다. 정적 클래스는 하나의 인스턴스 만있는 경우 그대로 작동합니다. 글로벌이라고 생각하십시오. 정적 클래스의 객체를 인스턴스화 할 수 없습니다. 클래스의 멤버 변수의 값은 전역 적으로 값을 유지하며 멤버 함수를 사용하여 '작업'할 수 있습니다. 이 정적 클래스가 될 것 인 경우에

vehicle honda = new vehicle(); 
honda.fuelup(10); 
honda.value.ToString(); 

: 새 개체와 멤버 함수와 이러한 개체의 '작업'을 만들 수있는 비 정적 클래스, 정적 클래스와 달리

:

위의 예제에서 우리는 클래스 유형 차량의 개체 혼다를 만들었습니다. 그런 다음 함수를 사용하여 객체에서 '작업'했습니다. 정적 클래스의 경우 을 만들 수 없으므로 객체 이름 대신 클래스 이름 (예 : 혼다)을 호출하기 만하면됩니다.

을 요약하자면, (? 프로그램 itelf)

  • 정적 = 글로벌 인스턴스 글로벌
  • 정적 = 는 하나 개의 인스턴스 만했다 것처럼
  • 비 정적 = 지역 범위, 많은 경우

질문에 대답하거나 해결할 수없는 경우 분명한 질문으로 다시 말하십시오. .

+2

잘못된 정보입니다. 정적 클래스를 인스턴스화 할 수 없으며 "하나의 인스턴스 만 클래스"가 아닙니다. –

+1

@marcof가 정확합니다. 정적 클래스에는 인스턴스가 없습니다. Static은 구성원이 인스턴스가 아닌 해당 유형과 연관되어 있음을 의미합니다. –

+0

맞습니다. 오해하는 경우 사과드립니다. 이 다르게 작성해야합니다 : 그것은 하나의 인스턴스 경우에만 정적 클래스를 작동합니다. "정적 클래스"에 대한 아이디어는 단순히 프로그램에 "전역 함수"를주는 것일 수 있다고 생각합니다. 어떤 물체가 무대 뒤에서 만들어 지는지 확신 할 수 없습니다 (나는 의심 스럽습니다). 이것을 지적 해 주셔서 감사합니다. –

관련 문제