Реализация Dynamic классом

Любой класс может также реализовывать Dynamic с параметром типа или без него. В этом случае, существуют поля класса типизированы, а иначе они имеют динамический тип :
    class C implements Dynamic<Int> {
        public var name : String;
        public var address : String;
    }
    // ...
    var c = new C();
    var n : String = c.name; // ok
    var a : String = c.address; // ok
    var i : Int = c.phone; // ok : используется Dynamic
    var co : String = c.country // ошибка : должен быть Int, так как Dynamic<Int>
Динамическое поведение наследуется подклассами. Когда несколько классов реализуют Dinamic разных видов в иерархии классов, используется последнее определение Dynamic.

Комментарии

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

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.