位置: 编程技术 - 正文
推荐整理分享C#抽象类及其方法的学习(c#中抽象类的定义),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:c#抽象类中的方法一定要实现吗,c#中抽象类的定义,c#抽象类中的方法一定要实现吗,c#抽象类调用方法,c#抽象方法,c#抽象方法,c# 抽象类的作用,c# 抽象类的作用,内容如对您有帮助,希望把文章链接给更多的朋友!
在C#中使用关键字 abstract 来定义抽象类和抽象方法。
不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例。
"一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步一个抽象类只能通过接口和作为其它类的基类使用."- C Programming Language by Stroustrup Chapter.2
抽象类能够被用于类,方法,属性,索引器和事件,使用abstract 在一个类声明中表示该类倾向要作为其它类的基类成员被标示成abstract,或被包含进一个抽象类,必须被其派生类实现。
例如,一个包含非抽象方法的抽象类:
一个抽象类可以包含抽象和非抽象方法,当一个类继承于抽象类,那么这个派生类必须实现所有的的基类抽象方法。
一个抽象方法是一个没有方法体的方法。
但是通过声明派生类也为抽象,我们可以避免所有或特定的虚方法的实现,这就是抽象类的部分实现。
在C#中,一个抽象类能够继承另一个非抽象类,另外,继承了基类的方法,添加新的抽象和非抽象方法是可行的。 一个抽象类也能从一个接口来实现,这种情况,我们必须为所有的方法提供方法体,这些方法是来自接口 我们不能把关键字abstract 和 sealed 一起用在C#中,因为一个密封类不能够被抽象。
抽象方法有以下特征:
1.一个抽象方法可以看作是一个虚函数。
2.抽象方法的声明只能在抽象类中。
3.因为抽象方法声明只提供一个无实现的方式,没有方法体
4.方法体的实现被覆写方法提供,覆写方法是一个非抽象类的成员。
5.抽象属性的行为和抽象方法相像,除了不同的声明形式。
6.在一个静态属性中使用abstract 是一个错误。
*一个抽象属性能够通过派生类使用 override 实现. 对于抽象类: 一个抽象类必须为所有的接口成员提供实现 一个用于实现接口的抽象类可能把接口方法安排到抽象方法上。例如
抽象类具有以下特征: 1.抽象类不能被实例化。 2.抽象类可以包含抽象方法和访问器 3.不能把抽象类用密封(sealed)来修饰,那就意味着类不能被继承,这违反抽象类被继承的原则。 4.一个派生于一个抽象类的非抽象类必须包括所有的继承来的抽象方法和访问器的实现 5.在方法和属性中使用abstract 关键字意味着包含它们的实现。
Unity3D中常用的数据结构总结与分析 今天来给大家介绍U3D时经常用到的数据结构和各种数据结构的应用场景吧。1.几种常见的数据结构这里主要总结下小匹夫在工作中常碰到的几种数据结构
也论Flash 3D和Unity 3D的未来 可以说,自从年开始接触Flash以来,我就一直期望有一天能在Flash里面自由地运用3D模型,原因是当时我在上海交大同时学习Flash4和Maya3。多少年后,两个
那些不易注意到的UNITY实用小功能 Unity是一款十分易用的游戏引擎,上手并不困难——恐怕也正因如此,少有人会仔细阅读帮助文档对Unity编辑器的功能做一个全面细致的了解,而一些非
标签: c#中抽象类的定义
本文链接地址:https://www.jiuchutong.com/biancheng/372968.html 转载请保留说明!友情链接: 武汉网站建设