![]() |
|
||||||||||
|
|||||
|
Если ты хочешь создавать экземляры объектов класса, тогда пиши конструктор класса, а не класс как набор методов. Точно так же как и в С++. Точно так же, как и в Java. Точно так же, как и в Perl...
... Хм, а на каких языках ты пишешь, если этого не знаешь?
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Цитата:
Цитата:
class Worker { public function Do() { trace("Do!!!"); } } не класс? По твоему класс это что? Это собственно и есть объект с набором методов. Цитата:
|
|
|||||
|
Цитата:
![]() ![]() ![]() Ты в курсе, что ЭКЗЕМПЛЯР класса (то есть объект) и КЛАСС - это разные вещи? Цитата:
Worker.Do (); но, поскольку класс не был проинициализирован, то это не сработает. Вывод - медод Do должен быть статическим (кстати, названия функций с заглавной буквы зарезервированны для названий классов и конструкторов классов): обращение к статическому методу класса: Но!! В этом случае мы не создаём екземпляр объекта, а пользуемся статическим методом. Если же необходимо несколько экземпляров класса - пишем: //class Worker
class Worker {
static var i:Number = 0;
var number:Number;
//инициализация счётчика рабочих
function Worker() {
//конструктор класса
this.number = i++;
}
public function doSmth() {
trace("my number is " + this.number);
}
}
//создание экземпляров smith = new Worker (); skinner = new Worker (); doctor = new Worker (); //вызов методов класса от экземпляров класса smith.doSmth(); doctor.doSmth(); skinner.doSmth();
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
|
Кстати, это не Action Script, это почти чистая Java, слегка адаптированная под AS2.0. Совет: почитай Bruce Eckel "Thinking in Java" - лучше узнаешь AS2.0. Или, тоже в общем классическая книжка, "Thinking in C++" того же автора.
ЗЫ Тяжело учить только первые двадцать четыре языка - по себе знаю ![]()
__________________
судью - на мыло, из игроков - вить веревки. Последний раз редактировалось Dindin; 09.07.2004 в 10:23. |
|
|||||
|
Регистрация: Apr 2004
Адрес: Минск
Сообщений: 176
|
Цитата:
Просто, если программист об этом не позаботится, то мудрый компилятор создаст конструктор сам (равно как и деструктор).
__________________
Юра |
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Цитата:
Я в форуме задал вопрос, ты кстати на него ответить не смог, а после того как я сам нашел ответ, ты стал учить меня ООП, к тому же с грубыми ошибками. Цитата:
obj.Do(); И все будет работать. Цитата:
Цитата:
|
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Цитата:
Точка. Все остальное, у же в данном случае не важно. Это полезно знать, но к данному спору это отношение не имеет, так как мне сказали "Если ты хочешь создавать экземляры объектов класса, тогда пиши конструктор класса" а это не верно. |
|
|||||
|
Молодой человек. Если Вы так пишете на С++, то мне уж-жасно хочется посмотреть хотя бы на одну из ваших программ... И что, вправду всё работает??
Вопрос не в том, кто и кого к чему обязывает. Есть определённые стандарты форматирования кода и создания структуры приложения. Тот кто их не знает (не любит, не ценит, не применят) - сам себе злобный баклан. У меня есть опыт участия в разработке ПО в больших коллективах (12 человек). И могу вас заверить, что не стоит пренебрегать даже расстановкой комментариев. И еще, конструктор у класса есть всегда. Во всех языках без исключения. Внутри любого класса. Если программист не указывает конструктор явно, компилятор создает конструктор по умолчанию. ЗЫ Читайте Кнута и обрящете
__________________
судью - на мыло, из игроков - вить веревки. Последний раз редактировалось Dindin; 09.07.2004 в 11:11. |
|
|||||
|
Вопрос был: Что я делаю не так.
Ответ был: либо сделай метод класса статическим, либо явно опиши конструктор. Если ты не понял - это твои проблемы. ЗЫ Если ты программировал на С когда флэша в проекте не было, то по крайней мере с 1992 года. То есть итого - 12 лет. Солидный стаж программирования! Вот только зачем тогда ты ламерские вопросы задаёшь?
__________________
судью - на мыло, из игроков - вить веревки. Последний раз редактировалось Dindin; 09.07.2004 в 11:15. |
|
||||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Цитата:
Цитата:
Во вторых "названия функций с заглавной буквы зарезервированны для названий классов и конструкторов классов" это они зарезервированы кем? Цитата:
Цитата:
Цитата:
|
![]() |
Часовой пояс GMT +4, время: 14:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|