LINUX.ORG.RU

История изменений

Исправление Aber, (текущая версия) :

Не претендую на истину, но я так классифицирую:

  • Типы это то что существует в Compile Time
  • Классы это то что существует в Runtime и Compile Time

Например есть класс List, но в compile time он может быть записан с параметризацией List<String> – это уже тип. Мы бы могли его записать и без параметризации – List и это тоже тип, только тип может содержать больше информации для компилятора.

Или вот тип int или float, они существуют для компилятора, но в runtime это всего навсего 4 байта по адресу памяти, без какой-либо мета-информации. Только компилятор следит за контрактом что с этими 4-мя байтами мы работаем именно как с числом определенного типа.
В момент исполнения мы не можем определить тип объектов, но описание структуры некоторых объектов мы можем получить из их классов.

Потому я думаю не типы являются частным случаем классов, а классы являются частным случаем типов.

Исправление Aber, :

Не претендую на истину, но я так классифицирую:

  • Типы это то что существует в Compile Time
  • Классы это то что существует в Runtime и Compile Time

Например есть класс List, но в compile time он может быть записан с параметризацией List<String> – это уже тип. Мы бы могли его записать и без параметризации – List и это тоже тип, только тип может содержать больше информации для компилятора.

Или вот тип int или float, они существуют для компилятора, но в runtime это всего навсего 4 байта по адресу памяти, без какой либо мета-информации. Только компилятор следит за контрактом что с этими 4-мя байтами мы работаем именно как с числом определенного типа.
В момент исполнения мы не можем определить тип объектов, но описание структуры некоторых объектов мы можем получить из их классов.

Потому я думаю не типы являются частным случаем классов, а классы являются частным случаем типов.

Исправление Aber, :

Не претендую на истину, но я так классифицирую:

  • Типы это то что существует в Compile Time
  • Классы это то что существует в Runtime и Compile Time

Например есть класс List, но в compile time он может быть записан с параметризацией List<String> - это уже тип. Мы бы могли его записать и без параметризации, List и это тоже тип, только тип может содержать больше информации для компилятора.

Или вот тип int или float, они существуют для компилятора, но в runtime это всего навсего 4 байта по адресу памяти, без какой либо мета-информации. Только компилятор следит за контрактом что с этими 4-мя байтами мы работаем именно как с числом определенного типа.
В момент исполнения мы не можем определить тип объектов, но описание структуры некоторых объектов мы можем получить из их классов.

Потому я думаю не типы являются частным случаем классов, а классы являются частным случаем типов.

Исходная версия Aber, :

Не претендую на истину, но я так классифицирую:

  • Типы это то что существует в Compile Time
  • Классы это то что существует в Runtime и Compile Time

Например есть класс List, но в compile time он может быть записан с параметризацией List<String> - это уже тип.

Или вот тип int или float, они существуют для компилятора, но в runtime это всего навсего 4 байта по адресу памяти, без какой либо мета-информации. Только компилятор следит за контрактом что с этими 4-мя байтами мы работаем именно как с числом определенного типа.
В момент исполнения мы не можем определить тип объектов, но описание структуры некоторых объектов мы можем получить из их классов.

Потому я думаю не типы являются частным случаем классов, а классы являются частным случаем типов.