Показать сообщение отдельно
Старый 08.03.2009, 01:13
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 11  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Mелкое добавление к посту Котяра. Лучше назвать IInitializable вместо IModul. Название интерфейса должно (should, но не обязано) отражать действие им производимое См. IBitmapDrawable, IExternalizable из AS3. А также некоторые кастомные названия: IMovable (перемещабельно), ISerializable (сериализабельно). Суть класса, реализующего интерфейс становится более понятна.

UPDATED.

Код AS1/AS2:
public interface ISerializable {
	public function serialize():String
}
 
public class AClass implements ISerializable {
	public function serialize():String {
		return this.toString();
	}
}
 
var anObject:AClass = new AClass();
var someObject:Object = new Object();
 
// где-то есть такой метод
public function trySerealize(o:*):void {
	// Динамическое связывание
	if (o is ISerializable) {
		var serializedString:String = (o as ISerializable).serialize();
	}
}
 
trySerealize(anObject);
trySerealize(someObject);
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 08.03.2009 в 01:25.