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

本文探讨Windows Phone 7手机开发中的类继承原理,讲解.NET框架下类、重写(Override)和虚方法(Virtual)的概念。在子类实例化时,构造顺序为先父类后子类。父类引用可调用子类继承的方法,但不能访问子类独有成员。而子类引用不能直接引用父类对象,除非进行类型转换。在实际编程中,通常使用父类引用子类,而非反之。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


---------------------- 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/  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值