总结:C#语法——继承、虚拟、多态、实例化
2010-10-27 21:54
453 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class Parent { public void MethodParent() { Console.WriteLine("0.调用parent的MethodParent()方法"); } public virtual void virtualMethodParent() { Console.WriteLine("1.调用parent的virtualMethodParent()方法"); } } public class Child : Parent { public void MethodChild() { Console.WriteLine("2.调用Child的MethodChild()方法"); } public override void virtualMethodParent() { Console.WriteLine("3.调用Child的virtualMethodParent()方法"); } } class inherit_Polymorphism { static void Main() { Parent par1 = new Parent(); par1.MethodParent(); par1.virtualMethodParent(); //Child child9 = (Child)par1; //编译不报错,运行出错 Console.WriteLine(); Child child1 = new Child(); child1.MethodChild(); child1.MethodParent(); child1.virtualMethodParent(); Console.WriteLine(); //等同于Parent par2 = (Parent)(new Child()); //par2实际为Parent类型,只能调用Parent类的方法MethodParent(),而不能调用Child类的方法MethodChild() //可以通过 虚拟重载 调用Child类的方法virtualMethodParent() Parent par2 = new Child(); par2.MethodParent(); par2.virtualMethodParent(); Console.WriteLine(); //同上 Parent par3 = (Parent)child1; par3.MethodParent(); //除了虚拟重载的方法,只能访问父类的方法,不能访问子类方法 par3.virtualMethodParent(); Console.WriteLine(); //将Child强制转换为Parent后,可以将该Parent强制转换为Child。 //并只有实际上是Child的实例才能可以转换为Child,否则会产生运行错误,例:41行代码 Child child2 = (Child)par3; //par3最初为Child child2.MethodChild(); //对比上面的就能访问子类方法了 child2.MethodParent(); child2.virtualMethodParent(); Console.WriteLine(); Parent child3 = (Child)par3; child3.MethodParent(); child3.virtualMethodParent(); Console.ReadLine(); } } }
相关文章推荐
- Java第十二次作业:继承与抽象类解决工人与学生的问题,抽象类实例。抽象类作用——为多态创造了可能。抽象类的作用总结
- C#经典语法总结(三)多态
- 实现C#继承与C#多态的实例演示
- 《程序员的第一年》---------- 复习一下C#的【封装 多态 继承 -----简单计算器源码实例】
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- C#中的继承封装和多态知识点总结
- C#基础总结之八面向对象知识点总结-继承与多态-接口
- c# 基础语法总结(实例)
- C# 语法练习(10): 类[二] - 继承、覆盖、多态、隐藏
- 《程序员的第一年》---复习一下C#的【封装 多态 继承 -----简单计算器源码实例】
- C#总结(三)—三大特性(封装、继承、多态)
- C#第五课--继承和多态
- SQL存储过程基本语法和实例(总结)
- 【C#】C# 语法总结--长期更新
- C#2008与.NET 3.5 高级程序设计读书笔记(6)--继承和多态
- C# 适应虚函数,抽象类,接口分别实现多态的方法总结。
- Objective-C - 封装、继承、多态综合实例
- 总结C#语法中八武器(8种方法)
- javascript学习总结三 OOP(构造、属性、多态、继承)
- 9-4c#类的继承和多态