抽象类和抽象方法

抽象类和抽象方法

abstract关键字

abstract  [ab·stract || 'æbstrækt]

n.  梗概, 摘要; 抽象概念; 萃取物

v.  使抽象化, 提炼, 摘要

adj.  抽象的; 纯理论的; 深奥的

 

抽象类就是为了继承而生的!

专门用于被继承的类就是抽象类。。。他就是上帝,下边都是他的子民

 

 

类别

定义

抽象类

如果一个类只是表达一种抽象的概念,仅仅作为其派生类的一个基类,这样的类叫抽象类,用abstract关键字修饰。

抽象方法

用abstract关键字修饰的方法

 

抽象类:

public abstract class myClass

{

}

抽象类中的抽象方法:

public abstract void ShowInfo();

 

 

 

 

 

 

抽象类的特点:

(1) 抽象类不能被实例化,如 myClass myclass = new myClass();这是不对的,因为myClass是抽象类

 

 

 

2)抽象类不能被密封。其实啊,抽象类跟密封类是死对头,抽象类可以继承其他抽象类(不过这样做没什么意义),而密封类只能做子类

3)抽象类可以但是不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要将这个类声明为抽象类

 

 

但是如果不想把类声明为抽象类,但又想实现方法在基类中不具体实现,而是在基类中重写实现功能,该怎么办呢?

可以通过把父类方法声明为虚函数 virtual的形式

          把基类同一方法名声明为override来实现方法的重写

 

 

 

 

posted on   拭不去の泪痕  阅读(758)  评论(1编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示