Абстрактный тип

Оглавление1 Абстрактный тип1.1 Основы абстрактных типов1.2 Реализация и использование1.3 Примеры и рекомендации1.4 Ссылки и дальнейшее чтение1.5 Полный текст статьи:2 Абстрактный […]

Абстрактный тип

  • Основы абстрактных типов

    • Абстрактный тип в системе именных типов не может быть создан напрямую, но может быть создан через конкретный подтип. 
    • Абстрактные типы могут не иметь реализации или иметь неполную реализацию, в некоторых языках известны как протоколы, интерфейсы или сигнатуры. 
    • В объектно-ориентированном программировании абстрактные типы реализуются как абстрактные классы, а конкретные типы – как конкретные классы. 
    • В универсальном программировании абстрактные типы могут быть реализованы без отношения к подтипу. 
  • Реализация и использование

    • Абстрактные классы могут быть созданы с использованием ключевого слова abstract или путем наследования от абстрактного типа без реализации всех абстрактных методов. 
    • В языках с динамической типизацией абстрактные типы могут быть определены через отправку метода в this, но без его реализации. 
    • Абстрактные типы являются важной особенностью статически типизированных языков ООП и могут использоваться для определения и принудительного применения протоколов. 
  • Примеры и рекомендации

    • В языке Java все методы по умолчанию являются конкретными, но могут быть абстрактными с использованием ключевого слова abstract. 
    • В интерфейсах все методы по умолчанию являются абстрактными, но могут быть конкретными с использованием ключевого слова default. 
    • Некоторые авторы рекомендуют, чтобы классы были конечными или абстрактными для обеспечения целостности и соблюдения протоколов. 
    • Абстрактные типы полезны для шаблонного метода и являются неотъемлемой частью его реализации. 
  • Ссылки и дальнейшее чтение

    • Ссылки на книги и ресурсы по типам и языкам программирования, включая “Объяснение абстрактных или скелетных интерфейсов” и “Типы и языки программирования Бенджамина Пирса”. 

Полный текст статьи:

Абстрактный тип

Оставьте комментарий

Прокрутить вверх