#c# #inheritance
#c# #наследование
Вопрос:
Что означает: в определении класса или интерфейса в C #.
public interface IServer : IServerManager, ISimulation, ISiteEx
{
/// <summary>
/// Returns the highest game version that supported by this server.
/// Higher versions aren't guaranteed to work perfect.
/// </summary>
Version MaxSupportedGameVersion { get; }
/// <summary>
/// Gets/sets the current server configuration.
/// </summary>
ServerConfiguration Configuration { get; set; }
}
Комментарии:
1. В будущем, пожалуйста, предоставьте один или два абзаца с описанием вашего вопроса в теле вопроса, а не просто строку темы.
Ответ №1:
:
используется для указания того, что интерфейс в левой части оператора реализует (технически, классы, реализующие интерфейс, предоставят реализацию) интерфейсы справа.
:
используется таким же образом, чтобы указать, когда класс также реализует один или несколько интерфейсов.
Ответ №2:
Поскольку IServer
это интерфейс, двоеточие означает, что IServer
интерфейс наследует от IServerManager
, ISimulation
, ISiteEx
интерфейсов. Другими словами: любой класс или структура, которые реализуют IServer
, должны также реализовывать три других.
Если бы тип слева от двоеточия был классом или структурой, двоеточие указывало бы, что класс или структура реализуют интерфейсы. Также в этом случае, если один (и только один) из типов справа был классом, это означало бы, что тип слева наследуется от этого класса. Классы могут наследовать от многих интерфейсов, но только от одного класса.
Ответ №3:
: есть ли способ реализовать наследование в c #, существует несколько сценариев, которые могут его использовать.
-
Интерфейс, расширяющий другой интерфейс.(Это относится к примеру в вашем вопросе.)
-
Класс, реализующий интерфейс
-
Класс, расширяющий другой класс
Класс может реализовывать несколько интерфейсов, но он может расширять только один класс.
Ответ №4:
Это означает, что интерфейс реализует другой интерфейс или несколько интерфейсов.