Person是父类,Student是子类

1,当需要一个父类类型对象的时候可以给一个子类对象

例如:

public  void  Show(Person  p)

{

}

Student  stu=new Student();

Show(stu);//这里是把子类的对象stu隐式转换成父类

当需要一个子类类型对象的时候给一个父类类行的对象是不可以的

例如:

Public  void  Show(Student  stu)

{

}

person   p=new  Person();

Show(p);//在这里是不能这样用的因为父类不能转换成子类

可以这样写Person  p=new Student();

Student   st=(Student)p;//这里是把父类强转成子类。因为父类的对象就是指向这个子类所以可以强砖不会报错

Show(st);//这时候st就是Student的类型的一个对象

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

1,把子类型赋值给父类型是发生了隐式转换

Student  stu=new Student();

Person   p=stu;//这里就是把子类型赋值给父类型的对象stu发生了隐式转换

2,把父类类型赋值给子类需要显示转换而前提是父类的一个对象是指向子类的一个对象这样就可以转换成功否则会报错

例如:

Person   p=new Student();//这里是父类的对象就是指向子类的对象

Student  stu=(Student)p;//这里就是把父类的对象P显示转换成子类因为父类的对象就是指向子类的一个对象

判断一个对象是否属于某个类型语法:

if(stu  is  person)

{

}

也可以通过as进行转换

Person  p=new Person();

Student  stu=p   as   Student;//如果能转换则回返回结果不能转换则返回null;而这里是不能转换的因为父类不能转换成子类,并且父类的对象也不是指向子类的一个对象

转载于:https://www.cnblogs.com/lixiang0829/archive/2012/08/09/2630511.html

里氏替换原则→类型转换相关推荐

  1. 里氏替换原则(Liskov Substitution Principle,LSP)

    昨天图文介绍了软件设计的一个基本原则"开闭原则",而"开闭原则"的核心就是通过抽象把需求变化进行隔离,这种想法可以通过"里氏替换原则"进行保 ...

  2. 面向对象设计原则之三:里氏替换原则

    里氏替换原则(Liskov Substitution Principle LSP)   里氏替换原则是面向对象设计的基本原则之一.任何基类可以出现的地方,子类一定可以出现.LSP是继承复用的基石,只有 ...

  3. 【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )

    文章目录 一.里氏替换原则定义 二.里氏替换原则定义扩展 三.里氏替换原则引申意义 四.里氏替换原则意义 五.里氏替换原则优点 一.里氏替换原则定义 里氏替换原则定义 : 如果 对每一个 类型为 T1 ...

  4. 【设计模式】里氏替换原则

    里氏替换原则 OO(Object Oriented,面向对象程式设计)中的继承性的思考和说明 继承包含这样一层含义∶父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有
的子类必 ...

  5. java 重写方法 访问权限_为何Java中子类重写方法的访问权限不能低于父类中权限(内含里氏替换原则)...

    为何Java中子类重写方法的访问权限不能低于父类中权限 因为 向上转型及Java程序设计维护的原因 例: 假设一个父类A 拥有的方法public void setXXX(){}可以被其他任意对象调用这 ...

  6. Laravel深入学习10 - 里氏替换原则

    声明:本文并非博主原创,而是来自对<Laravel 4 From Apprentice to Artisan>阅读的翻译和理解,当然也不是原汁原味的翻译,能保证90%的原汁性,另外因为是理 ...

  7. 软件设计原则(三)里氏替换原则 -Liskov Substitution Principle

    里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一. 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现. LSP是继承复用的基石,只 ...

  8. 北风设计模式课程---里氏替换原则(Liskov Substitution Principle)

    北风设计模式课程---里氏替换原则(Liskov Substitution Principle) 一.总结 一句话总结: 当衍生类能够完全替代它们的基类时:(Liskov Substitution P ...

  9. 《设计模式》杂记之里氏替换原则

    在这篇博文中,我想把自己学习过的里氏替换原则一些好知识点分享给大家.首先我想把继承的一下优缺点给大家分享一下,然后再引出里氏替换原则吧!<?xml:namespace prefix = o ns ...

最新文章

  1. vc 限制软件的使用次数或时间
  2. 如何把SAP CRM WebClient UI上某个字段高亮加粗显示
  3. 面试题,你手里有几个offer?
  4. flex gallery / 产品展示
  5. Ansible AdHoc playbook API + 动态生成Inventory +结果关注
  6. java 注解原理_在java中实现组合注解原理分析(注解继承)
  7. 当开发帆软插件得时候如果安装插件遇到 ***插件版本过低 请安装高版本插件
  8. 区块链java语言,基于Java语言构建区块链(一)—— 基本原型
  9. BZOJ 1085: [SCOI2005]骑士精神( IDDFS + A* )
  10. 内存分配-堆-栈-静态区
  11. 石头科技财报背后:不甘再当小米打工仔?
  12. SAP JCo BAPI的使用(刘欣) 2009-2-6
  13. 精易论坛多线程培训第二期
  14. MD5算法原理及代码实现
  15. rasp 系统_RASP技术分析
  16. Vue视频播放进行+水印的截图
  17. 关于Fusion on Apple Silicon的谨慎猜测
  18. winform抓取淘宝宝贝详细页的上下架时间等信息
  19. git clone项目文件时报错解决remote: Enumerating objects: 19, done. remote: Counting objects: 100% (19/19), don
  20. Win7系统待办下载 纯净版无广告待办软件

热门文章

  1. mysql select time,MySql查询时间段的方法
  2. 高德最佳实践:Serverless 规模化落地有哪些价值?
  3. 冀教版五年级计算机教学计划,冀教版五年级科学教学计划
  4. h3csnmp管理命令_H3C S5500V2-EI系列以太网交换机 命令参考-Release 1118-6W100_网络管理和监控命令参考_SNMP命令-新华三集团-H3C...
  5. 简单的计算机试题,这么简单的MS Office试题基础,一般人都不好意思看!
  6. python控制语句中的条件语句_『Python』条件控制语句
  7. 自定义字符串变量赋值在查询语句中使用
  8. Efficient Graph-Based Image Segmentation
  9. 【杂谈】深度学习必备,各路免费爬虫一举拿下
  10. Lazada专业代运营服务商,手把手教你从0到1做好跨境电商