Re: Статические классы
От: night beast СССР  
Дата: 20.11.15 05:36
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Я скорее непрофессиональный программист, отстал от жизни, поэтому хочу спросить.

K>Меня в Delphi очень злит отсутствие статических классов. Т.е. часто нужна простая запись (record) с возможностью вызвать свою функцию: например у меня есть запись TVector, с тремя компонентами tvector.x, tvector.y, tvector.z, и нужна функция tvector.length. Я одно время пробовал создавать функции со сложными именами, например function tvector_length(var obj:tvector), но как-то это не пошло. Создавать класс tvector — не вариант, поскольку будет тормозить и придётся каждый раз инициализировать и уничтожать этот класс. У record-ов со встроенными функциями были бы две базовые характеристики классов – инкапсуляция и наследования, а уж полиморфизм нужен далеко не всегда.
K>Вот у меня вопрос, насколько всё это решено в более современных ЯП?

не совсем понял суть проблемы
интересует добавление своих функций к уже имеющимся типам?
в с++, для этого есть ADL:
namespace test {
struct vector {
  float x,y,z;
};

float length ( vector const & );

}

int main () {
   test::vector v;
   float d = length( v );
   return 0;
}


оно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.