Что ж, в AS3 нет возможности множественного наследования напрямую, как во многих других языках ООП.
ООП - это повторное использование кода, и, как и большинство из нас, хотят повторно использовать код, написанный в нескольких классах.Поэтому, если вы действительно хотите повторно использовать код (логику), а не только сигнатуры, вы можете рассмотреть подходы Composition или Deligation , и, вероятно, это то, что вы где-то читали, как выsaid.
В композиции вместо наследования базового класса в подкласс вы будете иметь экземпляр базового класса и иметь все методы
package
{
public class BaseClass1
{
public function someMethod( )
{
trace("This is from the BaseClass1");
}
}
}
package
{
public class BaseClass2
{
public function anotherMethod( )
{
trace("This is from the BaseClass2");
}
}
}
package
{
//Composition
public class HasBase
{
private var baseClass1:BaseClass1;
private var baseClass2:BaseClass2;
public function HasBase( )
{
baseClass1=new BaseClass1( );
baseClass2=new BaseClass2( );
}
public function someMethod( )
{
baseClass1.someMethod( );
}
public function anotherMethod(){
baseClass2.anotherMethod();
}
}
}
Это нехак, но на самом деле реальная и практическая реализация, принятая опытными разработчиками во многих шаблонах проектирования.
Надеюсь, это поможет