![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2012
Сообщений: 40
|
если передать экземпляр как параметр в функцию, то в виде чего он будет существовать?
этот пример как-то связан с ответом на мой вопрос |
|
|||||
|
В виде ссылки на экземпляр класса. В случае простых объектов – в виде копии экземпляра.
P.S. Вы не в викторину играете? |
|
|||||
|
Регистрация: Jun 2012
Сообщений: 40
|
Цитата:
а что передают экземпляры с не примитивным типом данных? ведь они не имеют значени не викторина, я просто удаляю пробелы |
|
|||||
|
Оператор new возвращает ссылку на вновь созданный экземпляр класса.
Здесь в функцию example и передается эта ссылка. |
|
|||||
|
Регистрация: May 2012
Сообщений: 131
|
public class SomeClass { public function SomeClass() { } public function someMethod():void { trace('ALL YOUR BASE ARE BELONG TO US'); } } public class Main { public function Main() { example(new SomeClass()); } public function example(e:SomeClass):void { e.someMethod(); //ALL YOUR BASE ARE BELONG TO US } } |
|
|||||
|
Боюсь что могу этим добавить вам каши в голове, но считаю нужным упомянуть что
Экземпляр класса это объект, Класс это тоже объект, и функция это объект все объекты находится в памяти компьютера, их можно создавать и менять, но вот передавать их невозможно... передавать можно только ссылки на эти объекты немножко улучшил пример: public class SomeClass { public function SomeClass() { } public function someMethod():void { trace('ALL YOUR BASE ARE BELONG TO US'); } } public class Main { public function Main() { var something:SomeClass = new SomeClass(); //переменная something это ссылка на объект класса SomeClass example1(something); // передаём в качесве параметра ссылку на объект example2(SomeClass); // передаём в качесве параметра ccылку на класс example3(something.someMethod); // передаём в качесве параметра ccылку метод объекта класса SomeClass } public function example1(something:SomeClass):void { something.someMethod(); //ALL YOUR BASE ARE BELONG TO US } public function example2(сlazz:Class):void { var something:SomeClass = new clazz(); //создаём объект something.someMethod(); //ALL YOUR BASE ARE BELONG TO US } public function example3(fn:Function):void { fn(); //ALL YOUR BASE ARE BELONG TO US } }
__________________
Хороший отдых - половина работы. |
|
|||||
|
Регистрация: Jun 2012
Сообщений: 40
|
а если созданный объект не инициализирован, то к нему нельзя будет обратиться(ссылаться), и он будет бесполезно занимать память?
з.ы. примеры шикарные... |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 393
|
Цитата:
Вы, кажется, путаете объект и класс. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|