Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 30.08.2002, 23:27
SphinX вне форума Посмотреть профиль Отправить личное сообщение для SphinX Посетить домашнюю страницу SphinX Найти все сообщения от SphinX
  № 1  
SphinX

Регистрация: Sep 2001
Адрес: Asgard
Сообщений: 85
Отправить сообщение для SphinX с помощью ICQ
Post [FMX] Object-oriented programming

Считайте, ... что это [man]ual.

Итак ... ... ...

в основном мысли из книги Гради Буча "Обьекно-ориентированный анализ и проектирование" советую!!!

Концепции ООП реализованные в FMX.
  • Инкапсуляция.
    разделение элементов объекта, определяющих его устройство и поведение, думаю, мало где её нет ...
  • Наследование.
    это реализация такого отношения между классами, что подкласс(который наследует) повторяет структуру и поведение своего суперкласса(который наследуется)
  • Полиморфизм.
    <поли> - много <морфос> - форма; к сожалению я не смог найти достаточно красивого определения, так что придётся на пальцах объяснять ... представьте себе некое дерево классов (допустим пространтвенных фигур) у кждого класса: и у элипсоида, и у куба есть метод "рисовать", НО ведь фигуры разные поэтому и методы должны работать по-разному; вот это и есть полиморфизм, когда один и тот же метод выполняется по-разному для разных классов
  • Механизм виртуальных функций.
    на примере покажу
теперь пример кода реализующий сразу всё ...
Код:
//определяем суперкласс
function SuperClass()
{
	trace("construction of class: SuperClass");
	this.property = "property of SuperClass";
	this.method = function()
	{
		trace("method of class: SuperClass");
		trace(this.property);
	}
}

//определяем подкласс
function SubClass()
{
	this.__proto__ = new SuperClass();
	trace("construction of class: SubClass");
	this.method = function()
	{
		this.__proto__.method();
		trace("method of class: SubClass");
	}
}

//работаем
trace("SuperClass--------------");
super = new SuperClass();
super.method();
trace("SuperClass--------------");

trace("SubClass--------------");
sub = new SubClass();
sub.method();
trace("SubClass--------------");
а это вывод этого кода ...
Код:
SuperClass--------------
construction of class: SuperClass
method of class: SuperClass
property of SuperClass
SuperClass--------------
SubClass--------------
construction of class: SuperClass
construction of class: SubClass
method of class: SuperClass
property of SuperClass
method of class: SubClass
SubClass--------------
а теперь вопрос: когда писал слово "super" в редакторе FMX оно вдруг засветилось, непонятно, что же оно даёт ???

Создать новую тему   Часовой пояс GMT +4, время: 07:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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