C#的几个入门问题

简述什么是继承,为何要继承,继承的规则?

类的继承是一种用现有的类来构造专用类的编程技术,它可以让开发人员重用代码。

继承规则:

1、  继承是可以传递的。B继承 A,C继承了B。这是,C里面也继承了A的成员。

2、  派生类是基类的扩展,可以添加自己的成员。但不能除去继承的成员。

3、  构造函数和析构函数不能被继承。

4、  如果派生类定义有与基类成员名称相同的成员,就覆盖已继承的基类的成员。此时派生类的对象访问这个重名成员是派生类的,不是基类的。

5、  类中有虚方法、虚属性以及虚索引指示器,它的派生类能够重载这些成员。

6、  C#中只允许单一继承。但可以使用接口和扩展方法实现多重继承。

扩展方法:在.NET3.0中才出现。还没弄得太明白。 

 

继承中的构造函数执行顺序?

public class Person

{

       Person(){};

}

public class Zhu

{

       Zhu(){};

}

public class Wang:Person

{

       Wang(){};

   Zhu zhu;

}

 

Wang wang=new Wang();

当派生类创建对象时,先调用基类的构造函数,再调用派生类;如果派生类中有对象成员,则先调用基类,然后调用成员对象类的,最后调用派生类的。

 

访问基类成员的方式?

public class Person

{

int Id;

public void GetName(){};

}

public class Wang:Person

{

         Wang(){};

}

Wang wang=new Wang();

此时要调用基类的成员方法:

base .GetName(){};

(Person)wang. GetName(){};

 

抽象方法和虚方法的作用和区别?

抽象方法:当实例方法声明包含 abstract 修饰符时,称该方法为抽象方法。虽然抽象方法同时隐含为虚拟方法,但是它不能有 virtual 修饰符。抽象方法声明引入一个新的虚拟方法,但不提供该方法的实现。相反,非抽象类的派生类需要重写该方法以提供它们自己的实现。由于抽象方法不提供任何实际实现,因此抽象方法的方法体只包含一个分号。抽象类的派生类必须实现所有抽象方法。当抽象类从基类继承虚方法时,抽象类可以使用抽象方法重写该虚方法。(来源于:http://msdn.microsoft.com

 

虚方法:如果一个实例方法声明前加有virtual则该方法为虚方法。它的作用就是为了实现共同的方法,但具体实现的内容不同。多态性就是派生类override基类的虚方法实现的

抽象方法和虚方法的区别:

1、  虚方法在声明时必须有实现部分;抽象方法不能实现,必须通过派生类来实现。

2、  抽象方法只能什么在抽象类中;虚方法可以在抽象类也可以在一般的类中,该方法不必重写,也可以重写。

3、  抽象方法只能在抽象类中出现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值