Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Чем метод отличается от конструктора? (http://www.flasher.ru/forum/showthread.php?t=163100)

Cresserons 06.08.2011 14:08

Чем метод отличается от конструктора?
 
Чем метод отличается от конструктора?

i.o. 06.08.2011 15:27

Где вы такое слово то узнали - "конструктор"? Может там и поинтересоватся? :)

goodguy 06.08.2011 15:27

Цитата:

Чем метод отличается от конструктора?
Конструктор - это метод, который используюется для инициализации экземпляра класса. Его название должно совпадать с названием класса.

saikspaik 06.08.2011 15:47

Конструктор, в отличии от метода, вызывается при создании экземпляра класса.
Из справки:
Конструктор — это особый метод, определяемый в классе, который вызывается при создании экземпляра класса. Конструкторы обычно используются для определения значений по умолчанию или для выполнения других операций по настройке объекта.

Cresserons 06.08.2011 16:36

А что должен содержать конструктор? Переменные?

etc 06.08.2011 21:52

Cresserons, в каком именно смысле? Это такой же блок кода, как и все остальные.

recew 06.08.2011 22:50

Тем что о нем есть отдельная глава в книге, которую вам следует прочитать, прежде чем задавать подобные вопросы.

Cresserons 07.08.2011 00:21

Чтобы не плодить темы, напишу вопрос в этом треде.
В книге Мука классом называют и сам файл с расширением .as и типы данных переменной (Date, Number).
Как разобраться? Путаница.

Bgg 07.08.2011 00:27

Цитата:

Сообщение от Cresserons (Сообщение 1018808)
Чтобы не плодить темы, напишу вопрос в этом треде.
В книге Мука классом называют и сам файл с расширением .as и типы данных переменной (Date, Number).
Как разобраться? Путаница.

У Мука в одном файле один класс, т.е. файл = класс. Никакой путаницы.

Cresserons 07.08.2011 00:31

Цитата:

Сообщение от Bgg (Сообщение 1018809)
У Мука в одном файле один класс, т.е. файл = класс. Никакой путаницы.

А зачем он называет типы данных переменной (Date, Number) классами, например String является собственным классом. Как так, если String - это тип данных.

Aquahawk 07.08.2011 00:33

Вообще принято писать одна тема - один вопрос. Но отвечу тут.
Класс и тип это в AS3 почти одно и тоже. Т.е. не совсем но на текущем этапе освоения можете считать одним и тем-же. Так вот классы бывают те что уже встроены в плеер например Date(Number сюда не относится, поясню ниже). Также вы можете написать свой класс, например MyMegaDate который будет считать дату по календарю Майя. Так вот чтобы его написать вам надо будет создать файл MyMegaDate.as и в нём написать реализацию этого класса. Причём так устроен AS3 что в одном файле должен быть один класс(на самом деле это тоже не так, но можете считать что это так, т.к. ситуации где это применяется только усложнят восприятие) причём файл должен называться также как и класс. Поэтому так повелось, классом называют и саму сущность класса так и файл в котором эта сущность описана, потому что между ними есть взаимно однозначное соответствие.

По поводу Number поясню, что это не класс а встроенный тип, выглядит как класс, но переменные такого типа передаются не по ссылке а по значению, если не знаете что это значит лучше почитайте где-нибудь ещё, например в Муке.

Bgg 07.08.2011 00:39

Код AS3:

var aaa:Date = new Date();

Cresserons, какой тип данных у переменной aaa по вашему? Читайте дальше, все потом поймете, вопросы у вас ни о чем.

Cresserons 07.08.2011 00:42

Aquahawk, хорошо расписали. Спасибо всем.

dimarik 07.08.2011 21:05

Тип данных отражает класс (в т.ч. надклассы) или интерфейс. Допускается говорить о типе данных как классе, который входит в цепочку наследования или интерфейсе.

Код AS3:

var a:DisplayObjectContainer = super.parent;
var a:DisplayObject = super.getChildAt(0);
var a:InteractiveObject = super.root;
var a:Stage = super.stage;
var a:IEventDispatcher = super.stage;

Это примеры ссылки на один и тот же объект.

Добавлено через 1 минуту
Цитата:

Сообщение от Aquahawk (Сообщение 1018812)
По поводу Number поясню, что это не класс а встроенный тип, выглядит как класс


Обман и провокация.

Aquahawk 07.08.2011 21:12

dimarik
Слушаю ваше пояснение. Я действительно не знаю как это тут можно пояснить в 2 строки, попытался сформулировать максимально просто и в тоже время без обмана, видимо не получилось.

dimarik 07.08.2011 21:15

Не нужно так делать. Все есть суть класс или интерфейс. Оно же и тип, который принимает ссылка. А по значению или по ссылке -- это реализация конкретного ЯП.

Aquahawk 07.08.2011 21:20

Но в данном конкретном ЯП же есть существенное различие между ними, и, думаю, его необходимо пояснить, дабы не подкладывать грабли для изучающего язык. (Хотя я, наверно, тоже своеобразные грабли подложил, но расценил их как менее злые)

dimarik 07.08.2011 21:25

Можно дать отдельно определение термина "тип" и рассказать какие типы передаются по ссылке, а какие по значению.

Wolf 08.08.2011 11:00

в ас3 если я не ошибаюсь это классы. и когда ты создаеш например строку, то это объект класса String. ты надо этого на C++ программировал?

plusmc 08.08.2011 11:09

Цитата:

Сообщение от Cresserons (Сообщение 1018811)
А зачем он называет типы данных переменной (Date, Number) классами, например String является собственным классом. Как так, если String - это тип данных.

В as3 все является объектами, даже переменные (экземпляры классов String, int, Number и т.д.)


Часовой пояс GMT +4, время: 10:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.