2012-04-18 6 views
-2

Статический класс не должен работать над экземпляром объекта. Что же тогда идентифицирует экземпляр объекта, который «работал»? Будет ли это что-то конкретное (т. Е. Передать новый ObjectA() параметрам метода). Поэтому, если это то, что я вижу, класс не должен быть статичным.Идентификация класса, который «работает на экземпляр объекта»

Благодаря

+4

Этот вопрос слишком расплывчатый. Можете ли вы привести пример кода? –

+0

Не знаете, каков ваш вопрос ... Какой-то ориентир откуда-то? то есть методы расширения сортируют «работу над экземпляром объекта» по дизайну. –

+0

все работает на экземпляре какого-то объекта - оно слишком дикое и звучит не так, как будто оно имеет смысл, хотя вне контекста. – NSGaga

ответ

1

Статический класс просто означает, что существует только один экземпляр этого объекта. Статический класс просто ведет себя, ЕСЛИ его только один экземпляр. Подумайте об этом как о глобальном; вы не можете создавать объекты статического класса. Значения переменной-члена класса сохраняют свое значение глобально, и вы можете «работать» с ними с функциями-членами.

В отличие от статического класса, с нестатическим классом можно создавать новые объекты и «работу» на этих объектах с функциями-членов:

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

Если бы это было быть статическим классом:

vehicle.fuelup(10); 
vehicle.value.ToString(); 

В приведенном выше примере мы создали объект honda, тип транспортного средства типа. Затем мы «работали» над объектом с функциями. Для статического класса нам не нужно было не может создать объект, мы просто вызываем имя класса вместо имени объекта (например, honda).

Резюмируя: (? Программа itelf)

  • Static = глобальный, один экземпляр
  • Static = глобальный, AS IF это был только один экземпляр
  • Нестатические = местный охват, множество случаев

Если это не ответит или не задаст вопрос, пожалуйста, перефразируйте его с четким вопросом ,

+2

Это неверная информация, статический класс не может быть создан, и это не «один экземпляр класса». –

+1

@marcof верен, статические классы не имеют экземпляров. Статический означает, что члены связаны с типом, а не с экземпляром. –

+0

Это правильно, и я прошу прощения, если я обманываю. Я должен был написать это по-другому: статический класс работает AS IF, это был всего лишь один экземпляр. Я думаю, что идея «статического класса» может состоять в том, чтобы просто дать «глобальные функции» программе. Я не уверен, что какой-то объект создается за кулисами (я сомневаюсь). Спасибо за указание на это. –

Смежные вопросы