c#泛型继承的里氏原则问题
来源:互联网 发布:java 继承泛型类 编辑:程序博客网 时间:2024/05/16 08:39
class Dog
{
public virtual void SayHi()
{
Console.WriteLine("i am the dog");
}
public override void SayHi()
{
Console.WriteLine("i am the minidog");
}
{
public virtual void SayHi()
{
Console.WriteLine("i am the dog");
}
}
class MiniDog:Dog
{public override void SayHi()
{
Console.WriteLine("i am the minidog");
}
}
class something<T> where T : Dog, new()
{
T t = new T();
public something()
{
t.SayHi();
}
static void Main(string[] args)
{
List<MiniDog> list = new List<MiniDog>();
}
结果输出什么? ...当Dog类中的SayHi方法不是虚方法,输出是什么
答案分别是 i am the minidog 和i am the dog
总结: 符合里氏原则, where T : Dog, new(), T 是Dog类时 T t = new T(); 和 Dog t=new T();
- c#泛型继承的里氏原则问题
- iOS- 利用里氏代换原则处理动画类的继承问题
- 用里氏代换原则来处理动画类的继承问题
- 里氏代换原则C#详解
- c#继承之里氏转换规则
- 里氏替换原则的理解
- 里氏替换的七大原则
- 里氏替换的设计原则
- 体验C#里氏替换原则 10.6.24
- 里氏替换原则的七大原则
- 里氏替换原则:切忌按照常识实现类间的继承关系
- 里氏原则
- C#七大设计原则之里氏替换原则
- c#的继承问题
- OO设计的里氏替换原则
- 里氏替换原则的一些拓展
- [OOD]违反里氏替换原则的解决方案
- 关于里氏替换的七大原则
- Codeforces 20C Dijkstra?
- 用C语言编写可移植程序的注意事项
- UnsupportedClassVersionError: Bad version number in .class file 解决方案
- EZ-USB 68013在WIN7 64位下驱动识别方法
- Yii中的relations方法
- c#泛型继承的里氏原则问题
- PhoneGap之iOS端安装
- VS2005(VS2008)与VC6.0的几点区别
- 解决Jenkins分布式编译iOS代码时,出现"User interaction is not allowed"
- syslog(),openlog(),closelog()
- 与Eliza的第一次谈话
- iotop
- 黑马程序员——day13数据库分页
- 微内核与巨内核