Вы не можете наследовать от нескольких абстрактных классов в c #, но вы можете реализовать несколько интерфейсов.
Я думаю, это может относиться и к Java *
Редактировать:
Вы не можете наследовать от нескольких классов.Если у вас есть абстрактный класс с именем Clonable и абстрактный класс с именем Disposable, то вы можете наследовать только один из этих классов и вынуждены принять решение о том, какой класс должен быть вашим классом подтипом:
Например:
public abstract class Clonable
{
public abstract void Clone();
}
public abstract class Disposable
{
public abstract void Dispose();
}
// MyClass cannot be Disposable too, it is not allowed by the language
public class MyClass : Clonable
{
override void Clone()
{
}
}
Обратите внимание, что языком является дизайнерское решение, позволяющее вам наследовать только от одного класса.
Если, с другой стороны, у вас есть интерфейсы, язык позволяет вамреализовать оба
например
public interface IClonable
{
void Clone();
}
public interface IDisposable
{
void Dispose();
}
public class MyClass : IClonable, IDisposable
{
void IClonable.Clone()
{
}
void IDisposable.Dispose()
{
}
}