Любой класс может также
реализовывать 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.