手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#基础学习之多态
c#基础学习之多态
摘要:最近在看一本书《你必须知道的.Net》,书涵盖的内容比较多,对于c#,.Net平台以往所学的零散东西有了慢慢的总结和新的认识。把一些基础的东...

最近在看一本书《你必须知道的.Net》,书涵盖的内容比较多,对于c#,.Net平台以往所学的零散东西有了慢慢的总结和新的认识。把一些基础的东西记录于此。

先说说多态吧:

1.基类继承式多态

如书中所说,基类继承式多态的关键是继承体系的设计与实现。书中举了个简单的列子

复制代码 代码如下:

Files myFile=new WORDFile();

myFile.open();

myFile是一个父类Files变量,保持了指向子类WORDFile实例的引用,然后调用一个虚方法Open,具体的调用则决定于运行时而非编译时。从设计模式的角度看,基类继承式多态体现了一种IS-A方式,例如WORDFile IS-A Files就体现在这种继承关系中。

2.接口实现式多态

区别于基类的继承方式,这种多态通过实现接口的方法约定形成继承体系,具有更高的灵活性。从设计模式的角度来看,接口实现多态体现了一种CAN-DO关系。上述的文件加载器也可以这样实现

复制代码 代码如下:

IFileOpen myFile=new WORDFile();

myFile.open();

多态的运行机制:

从技术实现角度看,是.NET的动态绑定机制成就了面向对象的多态特性。静态绑定在编译期就可以确定关联,一般是以方法重载来实现的;动态绑定则在运行期通过检查虚拟方法表来确定动态关联覆写的方法,一般以继承和虚方法实现。

【c#基础学习之多态】相关文章:

c# 钩子学习笔记

C#基础 延迟加载介绍与实例

C#学习基础概念二十五问第1/4页

c#完美截断字符串代码(中文+非中文)

浅析C# 基础语法的使用

c#(Socket)同步套接字代码示例

C# 抓取网页内容的方法

c# n个数排序实现代码

C#基础概念二十五问 21-25

C#中字符串编码处理

精品推荐
分类导航