Я все еще изучаю C # и только что задал базовый вопрос о наследовании.
Допустим, у меня есть абстрактный класс SportsPlayer
:
public abstract class SportsPlayer
{
string name; /*1ai*/
int age; /*1aii*/
Sexs gender; /*1aiii*/
//1b
public SportsPlayer(string n, int a, Sexs g)
{
this.name = n;
this.age = a;
this.gender = g;
}
}
И подкласс под названием SoccerPlayer
:
public class SoccerPlayer : SportsPlayer
{
Positions position;
public SoccerPlayer(string n, int a, Sexs g, Positions p)
: base(n, a, g)
{
this.position = p;
}
//Default constructor
public SoccerPlayer()
{
}
Возможно ли создать конструктор на подклассе, которому не переданы аргументы, или я прав, полагая, что для создания конструктора по умолчанию на подклассе суперкласс должен иметьтоже конструктор по умолчанию?
Кроме того, если бы я добавил конструктор по умолчанию в суперкласс, как бы я инициализировал переменные суперкласса в конструкторе подкласса?В Java это super()
, в C # это ??
public SoccerPlayer():base()
{
base.name = "";
}
???