Я искал вверх и вниз по интернету даже для малейшего упоминания об этой «ссылке» и не нашел НИЧЕГО !!! Никто, кажется, вообще не говорит об этом. Я опытный программист на C++, поэтому я более чем знаком с идеей «этого» указателя/ссылки. Мой вопрос в том, какова именно эта ссылка в классе as3? При попытке редактировать его возникают ошибки компилятора. Присвоение его экземпляру другого класса, похоже, делает копию того, что «это» указывает на. Все мои попытки идентифицировать его показывают, что это неотличимо от обычного экземпляра класса переменной. Моя конечная цель - указать экземпляр класса на другой экземпляр, и я пытался определить, могу ли я «это» упростить процесс. Благодаря!Что такое «эта» ссылка в классах as3?
ответ
Короткий ответ: Нет. Вы не сможете повторно использовать this
, чтобы указать на другой экземпляр того же класса.
Ключевое слово this
в AS3 ведет себя так же, как в C#: при использовании внутри класса он всегда ссылается на текущий экземпляр объекта.
public class Cat
{
var name:String = "";
public function getName():String
{
return this.name;
}
public function setName(name:String):void
{
this.name = name;
}
}
var joe:Cat = new Cat();
joe.setName("Joe"); //joe.getName() will return "Joe"
var john:Cat = new Cat();
john.setName("John"); //john.getName() will return "John"
Быстрый Google дает мне эти:
http://www.adobe.com/support/flash/action_scripts/event_methods/event_methods05.html
http://www.daveoncode.com/2009/01/07/we-should-always-use-actionscripts-this-keyword/
Это просто относится к текущему экземпляру объекта, метод включен.
это ссылка на ИНСТАНУС класса. Это действительно для удобства и ясности больше всего на свете, т. Е. Позволяет легко получить доступ к подсказке кода и явно укажет, какое свойство/метод вы пытаетесь получить. Это зарезервированное слово, поэтому вы не можете использовать его для других целей.
Это может быть очень удобно с помощью методов, которые принимают аргумент, который является тем же имя, как свойство класса, такие как:
package
{
public class MyClass
{
private var stuff:String;
public function MyClass()
{
}
public function setStuff(stuff:String):void
{
this.stuff = stuff;
}
}
}
this.stuff относится к свойству экземпляра и прочему относится к аргументу методы который был принят. Без этого у вас была бы двусмысленная ссылка на материал, и компилятор не знал бы, что вы хотите установить свойство класса для аргумента.
package
{
public class MyClass
{
private var stuff:String;
public function MyClass()
{
}
public function setStuff(stuff:String):void
{
stuff = stuff; //NO this KEYWORD!
}
}
}
просто установил аргумент для себя, и ничего не произойдет.
Многие считают, что использование этого создает загроможденный уродливый код. Лично я использую его совсем немного, но это вопрос личного вкуса и договоренностей, согласованных вашей командой/проектом.
Вы не можете переназначить это другому классу.
- 1. Что означает эта ссылка?
- 2. Что такое ссылка Microsoft.NETCore.UniversalWindowsPlatform?
- 3. Что такое Foo в AS3?
- 4. Что означает эта неразрешенная ссылка?
- 5. Что будет эта ссылка this.form.elements.code?
- 6. Что приводит эта ссылка гиперссылки?
- 7. Что такое метод шаблонов в базовых классах?
- 8. Что такое ссылка на Java?
- 9. Что такое `android.accounts.Account.type` ссылка?
- 10. Что такое круговая ссылка?
- 11. Что такое векторная ссылка?
- 12. Что такое эта спальная нить
- 13. Что такое двойная ссылка?
- 14. Что такое неизменяемая ссылка?
- 15. Встраивание шрифтов в классах AS3
- 16. Что такое оператор <= на классах Ruby?
- 17. Что такое точка входа в AS3-скрипт?
- 18. Что такое отправка в Flash AS3?
- 19. Что такое точка пустоты в AS3
- 20. Что такое эквивалент AS3 foo: * в Dart?
- 21. Что такое ссылка для System.Data.Entity.Infrastructure'?
- 22. Что такое ссылка на стек?
- 23. Что такое ссылка «название операции»?
- 24. Что такое ссылка на отслеживание?
- 25. Что такое ссылка на призрак?
- 26. Что означает эта ошибка `ld` (« неопределенная ссылка »)?
- 27. эта ссылка в ReactJS
- 28. Ссылка (эта) в функции
- 29. Что такое эта странная глобальная переменная PHP?
- 30. Что такое эквивалент AS3 для MovieClip.CreateEmptyMovieClip?
«Наведите экземпляр класса на другой экземпляр» - как именно вы пытаетесь сделать это на C++ путем присвоения 'this'? –