public void OverrideTest() { ChildFunction childClass = new ChildFunction(); Assert.Equal("overrideVirtual", childClass.Virtual()); BaseClass baseChildClass = new ChildFunction(); Assert.Equal("overrideVirtual", baseChildClass.Virtual()); BaseClass baseClass = new BaseClass(); Assert.Equal("baseVirture", baseClass.Virtual()); }
public void NewTest() { //new 和 override的差异在于 创建子类实例但是定义为父类的时候 ChildFunction childClass = new ChildFunction(); Assert.Equal("newNormal", childClass.Normal()); BaseClass baseChildClass = new ChildFunction(); Assert.Equal("baseNormal", baseChildClass.Normal()); BaseClass baseClass = new BaseClass(); Assert.Equal("baseNormal", baseClass.Normal()); }