![]() |
Переопределение операторов в AS3
Только начал разбираться с третим скриптом. Вижу что много нового полезного добавили. А переопределение операторов добавили?
|
А что подразумевается под «переопределение операторов»?
|
если вы имеет ввиду переопределение членов класс, то это можно делать и во второй версии языка...
|
Если кто программировал на C++, то помнят , что там можно переопределить такие операторы как +,-,=,==,[] и т.д.
Например для класса Vector3D очень бы хотелось писать так Код:
var a:Vector3D = new Vector3D(1,0,0);Код:
var a:Vector3D = new Vector3D(1,0,0);То есть как я могу указать я хочу ссылку на объект скопировать или просто скопировать все члены объекта? В AS2 мне приходилось писать функцию CreateCopy, которая создавала новый объект такого же класса, копировала все члены и возвращала ссылку. |
Ненужно этого делать, ибо плохой стиль программирования, если работаешь в комманде - неочевиден результат для напарника, хотя если работаешь сам с собой то все нормально.
|
Цитата:
|
Цитата:
Если про операторы += и тому подобные, то как же Вы порекомендуете поступать с векторами и матрицами? Как раз для таких типов подобные оперторы это хороший стиль программирования, т.к. операции суммы, вычитания, скалярного умножения или веторного умножения вполне определённые вещи. Кстати, может есть встроенные 2D или 3D вектора ? |
2Ляксей
потому что ECMA, а по поводу хорошего стиля, согласен, нехрен повторять умные слова из заумных книжек. а просто методами нельзя подобное сделать? приведи пример? и еще бы посоветовал порыть сырцы какой нибудь 3D либы типа Papervision и физического движка на AS3. |
Цитата:
производительность труда. Цитата:
Только первый вариант более читабельный. Код:
c = b*a; // вариант 1 |
мне и так все очевидно,
кратко - да, возможности которые нельзя сделать методами - нет. я хотел увидеть пример реализации который действительно нельзя реализовать с помощью методов... а согласен я был с вами. |
| Часовой пояс GMT +4, время: 23:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.