C#抽象类

发布时间:2016-12-7 16:33:56 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"C#抽象类",主要涉及到C#抽象类方面的内容,对于C#抽象类感兴趣的同学可以参考一下。

在C#中使用关键字 abstract 来定义抽象类和抽象方法。 First ——abstract 和virtual关键字的区别与联系 联系 它们有一个共同点:如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能私有的。毕竟加上virtual或abstract就是让子类重新定义的,而private成员是不能被子类访问的。 区别1   virtual(虚拟的) 这表是这个方法式有方法实体的,即这个方法可以像一般方法使用 abstract (抽象的) 表示这个方法只有一些基础的构架,必须要在子类中将这个方法写出这个方法的实体以后,这个方法才能像正常的方法一样使用,这样做的目的:比如我只是在构架整个软件框架的时候想到要有这么一个功能,但是还没有具体想好这个功能怎么实现,那么就可以先写一个抽象方法,待以后有灵感的时候再实现 区别2 virtual可以被子类重写,不重写也可以像正常函数一样使用,如果重写了virtual修饰的方法,前面必须添加override 而abstract必须被子类重写 second——抽象类 "一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步一个抽象类只能通过接口和作为其它类的基类使用." 1 抽象方法可以继承于接口(当然也可以单独定义),一个抽象类必须为所有的接口成员提供实现 2.抽象类不能被实例化。 3一个包含抽象方法的类必然是抽象类,但是抽象类里面可以有非抽象方法,抽象方法的声明只能在抽象类中。 一个抽象类可以包含抽象和非抽象方法,当一个类继承于抽象类,那么这个派生类必须实现所有的的基类抽象方法。 但是通过声明派生类也为抽象,我们可以避免所有或特定的虚方法的实现,(就是A是抽象类,B继承A,只要B也是抽象类,那么B就不必要实现A中的所有抽象方法) 3.不能把抽象类用密封(sealed)来修饰,因为抽象类就是用来被继承,然后在继承的子类中实现方法,sealed关键字是不让这个类被继承。 4抽象类可以包含抽象方法和抽象属性,也可以包含普通的类成员。 从抽象类派生的非抽象类必须实现全部的抽象方法和抽象属性,包括继承来的

上一篇:QT 5.0.2 VS2010开发环境搭建
下一篇:jquery+ajax+C#实现无刷新操作数据库数据

相关文章

关键词: C#抽象类

相关评论