class Program
{
class A:B
{
public void Method1()
{
Console.WriteLine("子类的方法");
}
}
static void Main(string[] args)
{
A a = new A();
// B b = a;
B b = new B();
a.Method1();
b.Method1();
}
}
class B
{
public virtual void Method1()
{
Console.WriteLine("父类的方法");
}
}
在这个例子中, B b = a; 和 B b = new B();这两个表达式声明的b对象, 所调用的结果一样, 那他们有声明区别, 就是将子类构造的对象赋值给父类生命的对象, 和用父类直接构造对象, 有声明区别?
同学你好,可以参考一下,这个是要在后续学习中慢慢体会总结的:
https://zhidao.baidu.com/question/122056067.html
https://zhidao.baidu.com/question/352807717.html
https://www.cnblogs.com/heyu/articles/3427191.html
https://blog.csdn.net/noricky/article/details/80051354
https://bbs.csdn.net/topics/390437776