@ldmitriy

Механизм работы наследования в C#?

class A
    {
        public int X { get; set; }
        public int Y { get; set; }

        public A(int x, int y)
        {
            X = x+1;
            Y = y+1;
        }
    }

class B:A
    {
        public int X { get; set; }
        public int Z { get; set; }

        public B(int x, int y, int z):base(x,y)
        {
            X = x;
            Z = z;
            Console.WriteLine($"this.X = {X}, this.Y = {Y}, this.Z = {Z}");
            Console.WriteLine($"base.X = {base.X}, base.Y = {base.Y}");
        }

    }

B b = new B(1,2,3);


1) base - это ссылка на экземпляр базового класса?
2) Если я вообще в классе объявил конструктор, но не инициализировал поля, то почему они имеют значения по умолчанию?
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
SpacePurr
@SpacePurr
c#, wpf
1. base - это ключевое слово
2. Переменным, объявленным в теле класса(поле), автоматически присваивается значение по умолчанию в соответствии с объявленным типом. К свойствам это, естественно, тоже относится.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы