История изменений
Исправление 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-мя байтами мы работаем именно как с числом определенного типа.
В момент исполнения мы не можем определить тип объектов, но описание структуры некоторых объектов мы можем получить из их классов.
Потому я думаю не типы являются частным случаем классов, а классы являются частным случаем типов.