Добрый день господа. Я недавно начал изучать язык и вообще программирование. Вот дошел до наследования. Возможно вопрос из ряда глупых, так что сильно не ругайтесь.
Вот кодclass Program
{
static void Main(string[] args)
{
B b = new B(); // Делаю ссылку на класс B
Console.WriteLine(b.new_age); // Вывожу в консоль переменную new_age из класса B
Console.ReadKey();
}
}
class A
{
protected int age = 20; // Создаю протектед переменную со значением 20
}
class B : A // Создаю класс B который наследуется от класса A
{
public int new_age; // Создаю публичную переменную new_age
public void newMethod() // Создаю публичный метод
{
new_age = age; // В методе говорю что новая переменная new_age равна переменной age из класса А
}
}
И вот вопрос, почему в консоль выводится значение 0, а не 20. Ведь в классе B я дал понять что переменная new_age равна переменной age из класса А, то есть она принимает значение 20. И вызывая ее в методе Main в консоле, она ведь должна показать не 0, а 20.
Можно вкратце о том чего я не понял. :(