Форум 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=138820)

TonKhaO 16.04.2010 14:30

Вопрос про создание экземпляра класса
 
Вопрос вот такой возник, до сих пор путаюсь, есть такая строчка:

Код AS3:

var ekz:MovieClip = new Ball();

в библиотеке флеш файла присутствует клип с привязкой к Ball()

то есть понимаю так
ekz - создаваемый экземпляр класса Ball
MovieClip - вот что это значит после двоеточия с именем экземпляра? ну то есть понятно что это тоже вроде класс, НО я же экземпляр на основе класса Ball создаю, отсюда и путаница, то есть что такое MovieClip в данной строчке

Ball() - ну как я понимаю класс созданный на основе базвого MovieClip класса :umnik2:

random13 16.04.2010 14:58

ekz - переменная, в которой хронится ссылка на экземпляр класса Ball
MovieClip - тип данных переменной, лучше поставить Ball, хотя это нужно не всегда...
у вас как я понимаю класс Ball наследуется от MovieClip, поэтому можете указывать тип данных MovieClip

Wolsh 16.04.2010 14:59

Вообще-то ekz - это переменная, хранящая ссылку на данные типа MovieClip.
A Ball расширяет класс MovieClip, соответственно в нем есть все методы и свойства класса MovieClip, поэтому он может участвовать в коде программы как MovieClip - при обращении к свойствам и методам MovieClip не возникнет ошибки.

TonKhaO 16.04.2010 15:35

Цитата:

Сообщение от random13 (Сообщение 901126)
у вас как я понимаю класс Ball наследуется от MovieClip, поэтому можете указывать тип данных MovieClip

воот, я понял причину неразберихи, я путаю тип данных (в данном примере MovieClip) и класс (в данном случае Ball), обьясните плз что к чему :umnik2:

Rzer 16.04.2010 15:41

Вы хотите Пуделя, но он ведь тоже собака.

Код AS3:

var dog:Dog = new Puddel();

И далее вы можете проводить с пуделем общие для всех собак операции.

Чтобы сказать что ваша собака это пудель можно делать так:

Код AS3:

var puddel:Puddel = dog as Puddel;

Теперь уже Вам доступны методы как собаки, так и пуделя.

Читайте подробнее про наследование.


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

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