![]() |
|
||||||||||
|
|||||
|
Приводить можно к родителям или к их родителям и так далее.
Вы похожи на папу, а не папа похож на вас. Таким образом можно объявить переменную типа ПАПА, а создать ВАС. Но нельзя объявить вас и создать папу. Sprite папа MovieClipa
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 120
|
Цитата:
я приводил из слов Котяры. Котяра говорит, что должно быть так Папа в данном случае класс B, а ребенок класс C. Так как в таком случае может переменная типа B к ребенку C. Следовательно ошибка возникает верно. Мы не можем вызывать метод описанный в ребенке, если этот ребенок не расширяет родительский класс B. Я же говорю так |
|
|||||
|
Цитата:
Цитата:
msg:B = new C(); // class B extends C НЕЛЬЗЯ msg:С = new B(); // class B extends C МОЖНО msg:B = new C(); // class C extends B МОЖНО msg:С = new B(); // class C extends B НЕЛЬЗЯ Вы умеете говорить "привет, мальчики" - (daddy as I).приветМальчики(), но только при условии что в переменная daddy указывает на объект класса I (который расширяет Daddy)
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. Последний раз редактировалось GBee; 14.11.2011 в 16:06. Причина: Наврал |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Да, верно))
Только если в переменную msg действительно записана ссылка на объект класса С, иначе получите null.
__________________
Reality.getBounds(this); |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Я бы просто посоветовал напрячься и изжить из своего сознания употребление терминов Parent/Child (папа/я, родитель/ребенок) при разговоре о наследовании. Поможет избежать разных неприятных ситуаций, ибо эти термины не имеют никакого отношения к наследованию (хотя иногда употребляют выражение "родительский класс" вместо суперкласс, но думаю никто никогда не слышал о "детском классе").
__________________
Reality.getBounds(this); |
|
|||||
|
По правде сказать я уже сам запутался.
Короче class Daddy {daddyMethod();} class Son extends Daddy {sonMethod();} //var s:Son = new Daddy(); Нельзя var d:Daddy = new Son(); //Можно //1 d.daddyMethod(); //Можно (d as Son).sonMethod(); //Можно //2 var d:Daddy = new Daddy(); //Можно d.daddyMethod(); //Можно //(d as Son).sonMethod(); //Нельзя null.sonMethod(); Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 120
|
Всем большое спасибо за помощь. Реально помогли разобраться с простыми вещами.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:17. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|