Я пытаюсь наследовать от экземпляра класса. Почему значение Inherited
, в коде ниже, значение null? Есть ли способ сделать это правильно?Могу ли я наследовать от экземпляра класса?
namespace Sample {
public class Class1 {
static void Main() {
Class2 SecondClass = new Class2();
SecondClass.StartSomething("hello world");
}
}
public class Class2 {
public string Inherited;
public void StartSomething(string value) {
Inherited = value;
InheritSomething();
}
public void InheritSomething() {
Class3 ThirdClass = new Class3();
ThirdClass.DoSomething();
}
}
public class Class3 : Class2 {
public void DoSomething() {
Console.WriteLine(Inherited);//when complied Inherited is null
Console.ReadLine();
}
}
}
Вы можете наследовать только класс, а не строку, а не объект. Инкапсуляция является альтернативой. –
Inheritance - это статическое отношение времени компиляции между классами, а не то, что вы делаете, путем вызова методов. –
Это эффективно инкапсуляция, а не наследование. –