111,093
社区成员




public class S
{
private S() { }
public S(string name)
{
this.Child = new S { Name = name + "的孩子" };
}
public string Name;
public S Child;
}
var x = new S("张三");
var y = x.Child.Name;
你会看到 y 的结果是“张三的孩子”。
在 S 类型的设计中,当然还是可以使用 S 类型,这很自然,完全没有问题。
.net 中的“重写”是指继承中子类 override 父类 virtual 方法、属性等等。是继承中的概念。而上述这种纯粹是组合,而不是继承。因此更谈不上重写。