我对编程有些新意,我对C#中的类,继承和多态有疑问.在了解这些主题的同时,我偶尔会遇到类似这样的代码:
Animal fluffy = new Cat(); // where Animal is a superclass of Cat*
Run Code Online (Sandbox Code Playgroud)
这让我很困惑,因为我不明白为什么有人会创建一个类型为Animal的变量来存储Cat类型的对象.为什么一个人不会简单地写这个:
Cat fluffy = new Cat();
Run Code Online (Sandbox Code Playgroud)
我确实理解为什么将子对象存储在父类型变量中是合法的,但不是为什么它有用.是否有充分的理由将Cat对象存储在Animal变量与Cat变量中?一个人可以举个例子吗?我确定它与多态和方法覆盖(和/或方法隐藏)有关,但我似乎无法绕过它.提前致谢!