Changes between Version 2 and Version 3 of ru/AMF


Ignore:
Timestamp:
Dec 20, 2010, 8:01:04 AM (11 years ago)
Author:
Maxim Reznik
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ru/AMF

    v2 v3  
    7373}}}
    7474
     75== Наследование без теговых типов ==
     76
     77Если все типы внутри реализованы одинаково, можно попробовать использовать наследование не-теговых типов.
     78
     79{{{
     80package CMOF.Elements is
     81   type CMOF_Element is private;
     82private
     83   type CMOF_Element is new Interfaces.Integer_32;
     84end CMOF.Elements;
     85
     86package CMOF.Elements.Classes is
     87   type CMOF_Class is new CMOF_Element;
     88
     89   function Get_Owner
     90    (Self : CMOF_Class) return CMOF.Elements.CMOF_Element;
     91end CMOF.Elements.Classes;
     92}}}
     93
     94Среди минусов этого подхода - нет множественного наследования.
     95Иерархия пакетов повторяет иерархию классов. Внутри функций можно делать проверку допустимости вызова этой функции, чтобы отсеять явно преобразованные элементы (например, от CMOF_Element к CMOF_Class, если элемент не является классом).
     96
    7597= Управление структурами данных =
    7698