УДК 004.435 ПРИСОЕДИНЯЕМЫЕ ТИПАЖИ В JAVA: РАСШИРЕНИЕ ЯЗЫКА И ОБЛАСТЬ ПРИМЕНЕНИЯ А. А. <...> Седунов Воронежский государственный университет Поступила в редакцию 01.03.2010 г. Аннотация. <...> В данной статье представлен один из вариантов расширения языка Java, основанный на механизме присоединяемых типажей. <...> Описанное расширение позволяет использовать на платформе Java гибкую форму наследования, при которой функциональность класса и его связи наследования могут меняться в зависимости от контекста. <...> This article describes one of possible Java language extensions based on attachable trait approach. <...> Necessary syntax changes, type system extension as well as key aspects and major application areas of attachable trait semantics are presented. <...> В данной работе мы предлагаем в качестве решения расширение традиционной парадигмы ООП с помощью механизма присоединяемых типажей. <...> Понятие типажа (trait) в контексте ООП является обобщением интерфейса, используемых в некоторых языках, например, Scala [4], Squeak, Perl 6 и др. <...> Типаж представляет собой совокупность методов, обладающих логической связностью и характеризующих определенный аспект поведения. <...> В отличие от интерфейсов, методы типажей не обязательно должны быть абстрактными и могут содержать элементы ре© Седунов А. А., 2010 ализации. <...> Идея разработанного нами подхода состоит в развитии типажей и дополнении объектно-ориентированного языка “гибкой” формой наследования на их основе, позволяющей модифицировать связи наследования между классами в зависимости от контекста. <...> ОПИСАНИЕ РАСШИРЕНИЯ ЯЗЫКА Функциональность, вводимая предлагаемым расширением языка Java, сводится к следующему: — структура описания типажа; — операции присоединения типажа; — неявный импорт типажей. <...> В настоящей статье мы не приводим строго описания расширения языка, концентрируясь, главным образом, на неформальном описании структуры и, частично, семантики присоединяемых типажей, а также вариантов их использования в ряде задач. <...> В дальнейших работах мы более подробно остановимся на формальных аспектах предлагаемого расширения <...>