Связаны ли типы и объектно-ориентированный объект?

Попытка понять, подразумевают ли типы объектно-ориентированный объект и наоборот.

Вопросы:

  • Что такое тип?

  • Можно ли класс в Ruby назвать «типом».

  • В javascript встроенные функции / объекты, такие как Array, String, Function ... Являются ли они типами?

  • Является ли структура C типом?

  • Как получается, что язык может быть набран, даже если он не поддерживает объектно-ориентированный объект? Например, Haskell. Являются ли типы на таких языках типами «данных» без поведения (методов) в объектах / классах в OOPL? Каковы существенные различия в типах между языками, которые имеют типы, но не OO, и языками, которые поддерживают OO.

  • Если классы / объекты являются типами, не подразумевает ли объектно-ориентированный объект типы?

  • Можно ли создать систему типов без типичных иерархий, характерных для объектно-ориентированных языков?

  • Поскольку clojure поддерживает подсказки типов, можно ли его в каком-то смысле назвать типизированным? он не является статически типизированным.

  • Означают ли слова «нетипизированный» и «динамически типизированный» одно и то же?

16
задан letronje 13 October 2010 в 12:42
поделиться