Salve colleghi programmatori,
Sto leggendo un libro su C # e l'autore sta confrontando le classi e le interfacce astratte. Afferma che se hai la seguente "classe astratta:"
abstract class CloneableType
{
public abstract object Clone();
}
Quindi non puoi fare questo:
public class MiniVan : Car, CloneableType
{}
Questo, capisco. Tuttavia, afferma che a causa di questa impossibilità a fare ereditarietà multiple si dovrebbe usare un'interfaccia per CloneableType, in questo modo:
public interface ICloneable
{
object Clone();
}
La mia domanda è, non è un po 'fuorviante, perché puoi creare una classe astratta che è "sopra" di classe Car con il metodo Clone, poi avere Car ereditare quella classe e poi Minivan erediterà Car con tutti questi metodi, Classe CloneAble - > Classe auto - > Classe Minivan.
Che ne pensi? Grazie.