C#之里式转换原则

面向对象六大原则

1.单一职责原则
2.开闭原则
3.里式转换原则
4.依赖倒置原则
5.接口隔离原则
6.迪米特原则

里式转换原则

定义:

1.子类对象可以直接赋值给父类变量

class A  //父类
{
}

class B:A  //子类
{
}

A a = new B();
//或者
A a;
B b = new B();
a = b;

a为父类变量,b/new B()创建的是子类对象,上面的代码将子类对象赋值给父类变量
类比:这一点可以和Java中的上转型对象进行类比
2.子类对象可以调用父类中的成员,但是父类对象永远只能调用自己的成员。父类对象在调用方法时,调用的是子类重写后的方法,相当于就是创建了一个子类对象,然后子类对象调用重写的方法
类比:这一点也是和Java中的上转型对象的相关知识相同
3.如果父类对象中装的是子类对象,可以将这个父类对象强制转换为子类对象
这时候就又可以调用子类的方法了
类比:Java中上转型对象

is和as进行类型转换

is:如果转换成功,返回true,失败返回false
as:如果转换成功,返回对应的对象,失败返回null

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 12,763评论 3 93
  • categories: Interviewdescription: 本文收集了一些经典的Java面试题 1、面向对...
    我是阿喵酱阅读 88,388评论 0 86
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 文/樊荣强 就一个人来讲,如果论一生,思考的起点大约是我们刚出生的时候,至少是他用肢体语言表达他的欲求与情绪的时候...
    樊荣强阅读 4,044评论 0 4
  • 等一次 时间的钟摆 不是在摇晃 而在后九点半钟 茫茫糊糊 朦胧不定 以为的几句眷恋 在时是过 是过不停 却没有了曾...
    玖木z阅读 1,301评论 0 2

友情链接更多精彩内容