黑马程序员_学习日记4_C#基础归纳总结之继承
来源:互联网 发布:java集合类实现类 编辑:程序博客网 时间:2024/06/09 08:07
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/
什么继承?
谈到继承就可以回顾上一篇结构的一些概念:结构不支持继承,但有自己的继承链 ;结构:System.ValueType:System.Object
在面向对象的编程中,继承分为两种。
实现继承:表示一个类派生自另一个基类。
接口继承:表示一个类实现了某一个接口。
多重继承:
在C#中类和类之间不能进行多重继承,原因是这种做法 不符合c#简约设计模式的初衷。且代码冗杂,难以理解。但是可以通过继承链的形式,间接的
实现类与类之间的多重继承。
类和接口之间可以进行多重继承。结构也支持接口继承。
实现继承:
一个类派生自另一个基类就叫实现继承:
public class MyDerivedClass:MyBaseClass{ }
接口继承:
public class MyDerivedClass:MyBaseClass,Interface1,Interface2{ //.....实现。。}
对于结构也可以实现接口继承:
public struct MyStruct:Interface1,Interface2{ //....实现。。}
虚方法:
把基类中的一个方法申明为virtual,就可以再派生类重写这个方法。
public class MyBaseClass{ public virtual void VirtualMethod() { //.....}}
在派生类中可以通过override关键字对此方法进行重写:
public class MyDerivedClass:MyBase{ public override void VirtualMethod() { //..定义新的方法逻辑。 }}
隐藏方法:
如果派生类和基类中有同名的方法,可以在派生类中 使用new关键字来隐藏基类中的方法。(没加new关键字,编译器也会默认隐藏,只不过 不加的话会给出一个警告。)
调用函数的基类版本。
public class MyDerivedClass:MyBaseClass{ public void BaseMothod() { //base关键字调用函数的基类版本 base.Virtual(); }}
抽象函数和抽象类;
C#允许把函数定义为抽象的(abstract).抽象函数不能被实例化,抽象函数不能有具体实现,必须在派生类中重写。
密封方法和密封类(sealed)
public sealed class inalClass//表示此类不能被继承。
sealed void sealed method();//表示此方法不能被重写。
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/
- 黑马程序员_学习日记4_C#基础归纳总结之继承
- 黑马程序员_学习日记3_C#基础归纳总结之结构
- 黑马程序员_学习日记5_C#基础归纳总结之派生类的构造函数
- 黑马程序员_学习日记6_C#基础归纳总结之堆栈分配图解
- 黑马程序员_学习日记7_C#基础归纳总结之泛型
- 黑马程序员_学习日记9_C#基础归纳之foreach迭代
- 黑马程序员_学习笔记8_C#基础归纳之数组
- 黑马程序员_学习日记1_C#基础
- 黑马程序员_学习日记1_有关C#基础知识总结归纳之对象和类型
- 黑马程序员_学习日记2_有关C#基础知识总结归纳之对象和类型
- 黑马程序员-----学习日记<4>----基础总结
- 黑马程序员_C#基础篇总结4
- 黑马程序员_C语言01_基础总结
- 黑马程序员_C语言01_基础总结
- 黑马程序员_C语言01_基础总结
- 黑马程序员_学习日记35_529基础加强(封装、继承、多态)
- 黑马程序员_C语言基础_指针
- 黑马程序员_C#基础之方法重载总结
- system()函数
- Loadrunner性能测试-关联
- 在Linux(Ubuntu)下安装Android设备的ADB/USB驱动
- dataset中删除重复数据
- 理解MySQL数据库覆盖索引
- 黑马程序员_学习日记4_C#基础归纳总结之继承
- Amazon推出手机联合Skyhook:反Google浪潮?
- [转]: DevExpress 学习(2):DevExpress 汉化(简单、实用、快速)
- java与android 的视频链接
- 浅谈用户名密码登录方式的弊端
- js-crossdomain
- 涉及的概念和技术
- TCPDUMP
- Iphone 开发常用代码