c#抽象类
hello,我又来了,,,想必大家都对抽象类不是很懂,,我之前就是不懂什么抽象类,,,,子类,父类啊,,这种专业术语,后来慢慢懂了,
我觉得抽象类的使用时因为设计模式吧!(纯属个人的意见)实现c#oop思想中的多态(重载、重写、虚方法、抽象方法以及隐藏方法) 抽象类只声明,不实现。
抽象类与普通基类有什么区别?
抽象类只能被继承,不能实例化。
普通基类可以被继承,也可以被实例化。
堆代码啦!!! public abstract class People //抽象父类。(抽象成员组成抽象类)
{
public abstract void Peoples(string Gender);
}
public class Grlis : People
{
public override void Peoples(string Gender)
{
Console.WriteLine("{0}是一个女人", Gender);
}
}
public class Boys : People
{
public override void Peoples(string Gender)
{
Console.WriteLine("{0}是一个男人", Gender);
}
}
static void Main(string[] args)
{
Grlis grlis = new Grlis();
grlis.Peoples("小英");
Boys boys = new Boys();
boys.Peoples("小王");
}
说明:男人是人女人也是人,那么在抽象父类中只要定义人这个方法,至于是什么人就由继承的派生类去重写了!
我们在使用抽象类的时候感觉它跟接口差不多,那这里来探讨一下他们的之间的差别吧!
抽象类与接口的区别:
1.抽象类可以有构造函数,接口没有。
2.抽象类可以声明静态函数,接口不可以。
3.抽象类可以声明实例化成员,接口只能声明抽象成员。
4.类的继承具有单一性,接口继承具有多继承性。
5.一个类只能继承一个父类,但是一个类可以继承多个接口。
6.类继承接口,就要实现它全部的方法,抽象子类继承抽象父类可以实现它部分或者0个方法。

浙公网安备 33010602011771号