C#父类与子类(多态性)
来源:互联网 发布:起名网站源码 编辑:程序博客网 时间:2024/05/18 03:05
对多态性概念还是有点模糊,突然好奇动手写了一下代码,感觉明白了。
using System;namespace 父类子类{ class Person { public Person() { Console.WriteLine("我是父类构造函数"); } public virtual void SayHello() { Console.WriteLine("父类SayHello"); } } class Son : Person { public Son() { Console.WriteLine("我是子类构造函数"); } public override void SayHello() { Console.WriteLine("子类SayHello"); } } class Program { static void Main(string[] args) { Person p1 = new Person(); p1.SayHello(); Console.WriteLine("==============================="); Son s1 = new Son(); s1.SayHello(); Console.WriteLine("==============================="); Person p2 = new Son(); p2.SayHello(); Console.WriteLine("==============================="); Son s2 = new Son(); Person ps2 = (Person)s2; ps2.SayHello(); Console.WriteLine("==============================="); Person p3 = new Son(); Son s3 = (Son)p3; s3.SayHello(); } }}
最后还有一种情况值得注意:
子类永远可以转换成父类。换句话说,由小指向大永远不会有问题。
如果父类的引用是子类实例那么可以通过类型转换完成。否则会报错。
- C#父类与子类(多态性)
- java父类与子类的多态性
- C#多态性-抽象类对象引用子类实例
- C#子类与父类的初始化
- C#中的父类与子类
- c++ 多态性 (附加与c#多态性的联想)
- (java)父类的静态方法为子类覆盖后,丢失多态性的问题
- java多态性详解——父类引用子类对象
- java多态性详解——父类引用子类对象
- java多态性详解——父类引用子类对象
- Java多态性详解——父类引用子类对象
- Java多态性详解——父类引用子类对象
- Java多态性详解——父类引用子类对象
- Java多态性详解——父类引用子类对象
- Java多态性详解——父类引用子类对象
- java多态性学习&子类给父类赋值
- Java多态性详解——父类引用子类对象
- Java多态性详解 (父类引用子类对象)
- 平衡二叉树(解惑)
- 3-23java的日子----最有爱
- gvim和gedit显示中文乱码的解决方法
- K60(Cortex-M4)开源开发探索(七)—— kermit的安装与配置
- XML解析(DOM详解)
- C#父类与子类(多态性)
- 函数指针数组和C变量的定义方式
- hdu1052田忌赛马,贪心解法
- Linux子文件和目录的作用及常用的命令
- Nasty Hacks
- linux安装g++
- DX11中的constant buffer的padding原理
- HDUOJ 2046(递推)
- 最大网络流算法