Снова о типизации :)
От: Зверёк Харьковский  
Дата: 06.10.05 05:18
Оценка:
Господа, такой вопрос:
1. корректно ли сказать, что динамическая типизация по сравнению со статической — это замена отношения "is-a" отношением "can"?

Т.е., очень обобщенно говоря, два значения вступают между собой в некоторые отношения, скажем:
a.function(b);


Для статической типизации — нужно отношение is-a:
class A
{
    void function(B _b)//чтобы установить отношения a.function(b), должно выполняться соотношение b is-a B
    {
        _b.foo();
    }
}


Для динамической — нужно отношение can:
class A
    def function(b)  //чтобы установить отношения a.function(b), не должно выполняться никаких соотношений, но...
        b.foo;       //...вот здесь потребуется соотношение b can foo


Это единственное отличие динамической типизации от статической?
Если да, то вопрос:
2. Если среда (компилятор, IDE) проверяет отношения can в design-time — это какая типизация — динамическая или статическая?
FAQ — це мiй ай-кью!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.