LINUX.ORG.RU

Холиварный вопрос по некоторым объектно-ориентированным языкам.

 , , ,


0

1

В некоторых языках (например Java и C#) типа «все полностью объектноориентированно» и даже вместо точки входа свой класс с методом, который ее заменяет. Вопрос: почему в обоих вышеперечисленных языках (а возможно и не только вних) «главный» класс статический, а не «обычный» - программа ведь по сути является экзепляром этого класса?

★★★★

Последнее исправление: RiseOfDeath (всего исправлений: 2)

Метод статический, а не класс. В жабе статическими могут быть вложенные классы. Это всего лишь означает, что в них неявно не присутствует ссылка на объект того класса, куда они вложены.

asaw ★★★★★
()

«главный» класс статический, а не «обычный» - программа ведь по сути является экзепляром этого класса?

класс или метод? Какой экземпляр, если (вдруг) в классе нет ничего кроме метода main? Что курим?

yyk ★★★★★
()

потому что new

anonymous
()

программа ведь по сути является экзепляром этого класса?

Очевидно, что нет, не является.

no-such-file ★★★★★
()

Бред какой написан. Впрочем товарищ asaw уже все прояснил. [/thread]

От себя добавлю, что статический по умолчанию только main, потому что это точка входа, которая создает объекты классов и запускает ими программу.

unt1tled ★★★★
()

Правильно было бы спрашивать, почему main статический метод, а не метод объекта. Ответа вменяемого не будет. Фактически точка входа, как и в Си, «обычная» функция...

anonymous
()

а всё от того что экземпляр этого класса надо в какой то момент инициализировать, а значит нужен код который должен создавать обьект этого главного класса... статический класс это такой синглтон который инициализируется при первом обращении, а тут как раз статический метод нужно дёрнуть, ну и под шумок инициализируется статическая секция класса и «самый главный» класс начинает свою работу

mm3 ★★★
()

В Java не всё «полностью объектноориентированно». Есть примитивные типы, а также статические методы и поля. Это не объектно-ориентированные конструкции.

Legioner ★★★★★
()

В некоторых языках (например Java и C#) типа «все полностью объектноориентированно»

Фейл

yoghurt ★★★★★
()
Ответ на: комментарий от RiseOfDeath

зачем? когда всё решается добавлением одного слова? и JVM делает всё необходимое без каких либо модификаций и дополнительных телодвижений.

mm3 ★★★
()

«Главный статический класс»(С)???

Что это?

Как Вы собираетесь проходить собеседование?

Bioreactor ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.