当前位置:首页 > 开发 > 编程语言 > C# > 正文

C#中的里氏替换原则

发表于: 2015-06-24   作者:cofftech   来源:转载   浏览次数:
C#
摘要: 里氏转换原则 子类可以赋值给父类对象 父类对象可以强制转化为对应的子类对象 里氏替换原则直观理解就是"子类是父类",反过来就说不通了. 就像男人是人对的,但人是男人就不对了. 这样明白了吧. 在面向对象思想中可知,派生类拥有基类向下公开的所有特征,它是基类的一个特例。 当派生类对象赋于基类类型时,将出现以下情况:派生类的数据结构依次对应于基类的数据
里氏转换原则
子类可以赋值给父类对象
父类对象可以强制转化为对应的子类对象


里氏替换原则直观理解就是"子类是父类",反过来就说不通了.
就像男人是人对的,但人是男人就不对了.
这样明白了吧.


在面向对象思想中可知,派生类拥有基类向下公开的所有特征,它是基类的一个特例。
当派生类对象赋于基类类型时,将出现以下情况:派生类的数据结构依次对应于基类的数据结构。而派生类拥有的自己的数据将不可见。

当基类的对象试图转换为派生类型时,将出现基类对象的数据无法依次填充完派生类的所有数据结构。这就造成了它将无法完成派生类定义的功能。编译器将会提示甚至报错。
这就是派生类能胜任基类功能,而基类却无法完全胜任派生类功能的原因。
强制转换属于 基类到派生的过程:那是因为 设计人员知道:该基类对象的数据结构完全可以填充完派生类的结构。否则,将出现强转错误。一般最好避免使用强转!

还有,子类能够出现在任何父类对象出现的地方不是完全正确的,父类有时也不会将自己的一些成员公开给子类。
C#示例代码: http://www.eyesourcecode.com/f/CSharp/1

C#中的里氏替换原则

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
里氏替换原则 1 继承的好与坏 1 好处 代码共享,减少创建类的工作量,提高代码的重用性,提高代码的
里氏替换原则(Liskov Substitution Principle LSP) 里氏替换原则是面向对象设计的基本原则之一。
设计原则----里氏替换原则(LSP) 里氏代换原则:在软件里面,把父类都替换成它的子类,程序的行为没
目录: 【C#小知识】C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使
目录: 【C#小知识】C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使
定义: 程序中的对象应该是可以在不改变程序正确性的前提下被它的子类所替换,也就是说所有引用基类
里氏代换原则 里氏代换原则通俗的解释就是任何可以出现基类(父类)的地方必须能够透明地使用子类对
里氏代换原则 “里氏代换原则是Barbara Liskov女士在1988年发表的,具体数学定义比较复杂,你可以查
一、概念 子类型必须能够替换掉它们的父类型。 二、详细说明 一个软件实体如果使用的是一个父类的话
lsp是dip的基础。 一、基本概念 抽象不应该依赖细节,细节应该依赖抽象。即针对接口编程,不要对实
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号