您的位置:首页 > 职场人生

黑马程序员 Class(类),Override(重写),Virtual(虚方法)

2012-03-18 15:34 295 查看
---------------------- 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("转换失败");

}
方法重写(virtual)

New 关键子是子类隐藏继承父类中的方法

Override是子类重写了父类中的方法

在父类方法中用virtual的方法(虚方法)

在子类的方法中override是将父类中的方法重写,扩展

定义override方法注意事项

Virtual和override不能用再Private方法上

重写的方法必须同名,参数列表一致,返回值类型一致

拥有相同的访问级别

只能重写虚方法

已经用override定义的方法不能在用virtula定义

在子类中不用override定义父类同名方法,编译器会报错,但是可以使用new关键字重新定义该方法
=====王长森 请多多指教

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: