黑马程序员 Class(类),Override(重写),Virtual(虚方法)
来源:互联网 发布:北京四达时代 知乎 编辑:程序博客网 时间:2024/05/16 08:56
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
在子类实例化的时候,先找到子类的构造方法(但没有去调用),在转到父类的构造法(调用完后),在转到子类本身调用子类的构造方法
1:父类可以引用子类对象
2:父类引用可以调用子类继承父类的方法属性
2:父类不能调用子类独有的方法属性
3:子类引用不能直接引用父类对象,除非将父类的数据类型强制转换成子类
4:父类可以调用子类重写父类的方法,而不是调用父类原来的方法
子类对象引用父类//在实际编程开发中,很少用到子类引用父类 父类引用子类是常见的~
try
{
Son son1 = (Son)new Father();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Son son = new Son();
Father father = new Father();
son.Name = "aaa";
father.Name = "bbb";
son = father as Son;//尝试转换
if (son == null)//判断是否转换成功
{
Console.WriteLine("转换失败");
}
Father father = new Father();
son.Name = "aaa";
father.Name = "bbb";
son = father as Son;//尝试转换
if (son == null)//判断是否转换成功
{
Console.WriteLine("转换失败");
}
方法重写(virtual)
New 关键子是子类隐藏继承父类中的方法
Override是子类重写了父类中的方法
在父类方法中用virtual的方法(虚方法)
在子类的方法中override是将父类中的方法重写,扩展
定义override方法注意事项
Virtual和override不能用再Private方法上
重写的方法必须同名,参数列表一致,返回值类型一致
拥有相同的访问级别
只能重写虚方法
已经用override定义的方法不能在用virtula定义
在子类中不用override定义父类同名方法,编译器会报错,但是可以使用new关键字重新定义该方法
New 关键子是子类隐藏继承父类中的方法
Override是子类重写了父类中的方法
在父类方法中用virtual的方法(虚方法)
在子类的方法中override是将父类中的方法重写,扩展
定义override方法注意事项
Virtual和override不能用再Private方法上
重写的方法必须同名,参数列表一致,返回值类型一致
拥有相同的访问级别
只能重写虚方法
已经用override定义的方法不能在用virtula定义
在子类中不用override定义父类同名方法,编译器会报错,但是可以使用new关键字重新定义该方法
=====王长森 请多多指教
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/
- 黑马程序员 Class(类),Override(重写),Virtual(虚方法)
- 接口,抽象类,虚方法,重写(interface,abstract class,virtual function,override)
- 接口,抽象类,虚方法,重写(interface,abstract class,virtual function,override)
- 黑马程序员——虚函数virtual与重写override实现多态
- C#关于虚方法 virtual 和 override 重写 详解
- 抽象类 虚函数及重写 virtual override new
- c# 虚函数Virtual与重写override
- 【KK学习笔记】c# 虚方法 virtual 、 重写方法 override 、new 的使用与理解
- C#调用父类构造方法(:base())与重写父类方法(virtual/override)
- 黑马程序员——Java学习笔记--方法的重载(Overload)与重写(Override)
- C#关于虚方法和重写的实例说明(virtual 和override)
- C#中子类重写父类方法的几种情况(virtual,abstract,override,new)
- 黑马程序员--抽象类虚方法及重写
- override重写基类方法
- 黑马程序员—JAVA重载Overload与重写Override
- 黑马程序员 override->重写(=覆盖)、overload->重载、polymorphism -> 多态
- 黑马程序员--Class类的一些方法
- 关于子类重写父类方法override
- uva10603
- copyProperties的用法
- 寄售及其流程
- 2
- MyEclipse 6.5破解码生成器
- 黑马程序员 Class(类),Override(重写),Virtual(虚方法)
- effective-导读
- 黑马程序员 ArrayList类
- STL-概论
- SGU 105 Div 3
- poj 1080
- MD5加密
- DataTime
- gggggggggggggggggdsfdsf