История изменений
Исправление alysnix, (текущая версия) :
Это хорошая запись, т.к. методы диспетчеризуются по всем аргументам, а не только по первому, как в случае X.Y. Однако:
в классическом императивном ООП, если компилируется выражение вида
obj.method()
компилятор находит obj, и берет его тип. в СКОПЕ ДАННОГО ТИПА он ищет метод method, и генерит код вызова этого метода с подстановкой адреса obj.
то есть методы не навалены в общем скопе, а раскиданы под типам обьектов. а у вас там просто некие глобальные функции выбор которой делается по списку параметров.
нетути тут ооп. несите другое
Исходная версия alysnix, :
Это хорошая запись, т.к. методы диспетчеризуются по всем аргументам, а не только по первому, как в случае X.Y. Однако:
в классическом императивном ООП, если компилируется выражение вида
obj.method()
компилятор находит obj, и берет его тип. в СКОПЕ ДАННОГО ТИПА он ищет метод method, и генерит код вызова этого метода с подстановкой адреса obj.
то есть методы не навалены в общем скопе, а раскиданы под типам обьектов. а у вас там просто некие глобальные функции выбор которой делается по списку параметров.
нетути тут ооп. несите другое