Наследование, или же как использовать переменную одного наследует ого класса в другом наследует классе?

Всём привет) Чтобы было понятней, опишу подробней ситуацию

У меня есть 3 класса, первые 2 из которых производные от третьего, каким образом можно взять переменную из первого класса, и использовать его значение во втором классе?

Если есть вопросы пишите ниже

Всём бобра;)
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
@kttotto
пофиг на чем писать
Передать его как параметр либо через конструктор второго класса, либо через один из его методов.
abstract class A
{
	protected string _value;
}

class B : A
{
	// Через общее отнаследованное поле
	public string ValueB { get { return _value; } set { _value = value; } }
}

class C : A
{
	private string _valueC;
	
	public C(string any)
	{ }
	
	// Через конструктор
	public C(string any)
	{
		_valueC = any;
	}
	
	public string ValueC { get { return _value; } set { _value = value; } }
	
	// Через метод
	public void SetMethod(string any)
	{
		_valueC = any
	}
}

var b = new B();
var c = new C();
b.ValueB = "any"; // c.ValueC = "any"
// так же как и
c.ValueC = "any"; // b.ValueB = "any"

b.ValueB = "any";
// Через конструктор
var c = new C(b.ValueB); 
// Через метод
c.SetMethod(b.ValueB);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ненене! Свойства базового класса доступны для наследников внутри объекта, а не глобально!
Т.е. нельзя сделать следующее:
class a
{
value A;
}
class b:A
{
value B;
}

A a = new A();
B b = new B();
a.A = someone;
Console.Write(b.A);


Наследование - это возможность расширить возможности предка.
b.A = someother;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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