黑马程序员_学习日记4_C#基础归纳总结之继承

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

什么继承?

       谈到继承就可以回顾上一篇结构的一些概念:结构不支持继承,但有自己的继承链  ;结构: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/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值