C # | Может ли наследование быть множественным и многоуровневым одновременно?

Итак, у меня есть класс под названием «Ауди». Теперь этот класс наследуется от базового абстрактного класса «Автомобиль», теперь «Автомобиль» наследуется от абстрактного класса «Vechile». Но также я хочу, чтобы класс «Audi» унаследовал от интерфейса под названием «IUnlockCar». Мой вопрос таков, как упоминается в названии. И если он не может быть многоуровневым и множественным одновременно, то каким типом я мог бы назвать это наследование?

interface IUnlockCar{}
public abstract class Vechile{}
public abstract class Car : Vechile{}
public class Audi : Car, IUnlockCar{}

person Marijus Bražiūnas    schedule 07.11.2018    source источник
comment
уверен, что это работает, почему ты просто не проверил компилятор ?!   -  person adjan    schedule 07.11.2018
comment
Классы не наследуются от интерфейсов, они их реализуют. Класс в C # может иметь только один базовый класс, который он наследует, но может (и часто реализует) несколько интерфейсов либо напрямую, либо путем наследования.   -  person Zohar Peled    schedule 07.11.2018
comment
Хорошо, теперь я понял. Очень ценю ваши ответы. Ваше здоровье!   -  person Marijus Bražiūnas    schedule 07.11.2018


Ответы (1)


В C # вы можете расширить только один класс и реализовать несколько интерфейсов. Его цель - предотвратить проблему с алмазом

person OlegI    schedule 07.11.2018