C#中的抽象类和抽象方法
2014-02-26 14:55
162 查看
一、抽象类和抽象方法的概念
在基类中的虚方法有时候不可能被调用到,而只是表达一种抽象的概念,用以为它的派生类提供一个公共的界面。 C#中引入了抽象类(abstract
class)的概念,可以将它定义成抽象方法。将该方法所在的类定义成抽象类。
抽象方法:只包含方法定义,但没有具体实现的方法,需要其子类或者子类的子类来具体实现。
抽象类:抽象类是能够包含抽象成员的类。抽象类只能作为基类使用,不能被实例化。
二、抽象类和抽象方法的使用原则
1 抽象类中可以存在非抽象方法,抽象方法必须包含在抽象类中。
2 实现抽象方法用override关键字。如果子类没有实现抽象基类中所有的抽象方法,则子类也必须定义成一个抽象类。
3
抽象方法被实现后,不能更改修饰符。
4 抽象类可以被抽象类所继承,结果仍是抽象类。
5 所有抽象的方法,在派生类中必须被实现。
下面就让我们通过一个例子来认识一下抽象类吧:
运行结果如下:
在基类中的虚方法有时候不可能被调用到,而只是表达一种抽象的概念,用以为它的派生类提供一个公共的界面。 C#中引入了抽象类(abstract
class)的概念,可以将它定义成抽象方法。将该方法所在的类定义成抽象类。
抽象方法:只包含方法定义,但没有具体实现的方法,需要其子类或者子类的子类来具体实现。
抽象类:抽象类是能够包含抽象成员的类。抽象类只能作为基类使用,不能被实例化。
二、抽象类和抽象方法的使用原则
1 抽象类中可以存在非抽象方法,抽象方法必须包含在抽象类中。
2 实现抽象方法用override关键字。如果子类没有实现抽象基类中所有的抽象方法,则子类也必须定义成一个抽象类。
3
抽象方法被实现后,不能更改修饰符。
4 抽象类可以被抽象类所继承,结果仍是抽象类。
5 所有抽象的方法,在派生类中必须被实现。
下面就让我们通过一个例子来认识一下抽象类吧:
abstract class shapleclass //抽象类的声明 { abstract public void area(); //抽象方法,只是声明没有实际的实现,所以只是以分号结束,并且在签名后没有大括号 public void fun() //成员函数 { Console.WriteLine("这是一个非抽象方法!"); } } class shap:shapleclass { public override void area() //所有派生于抽象类的方法,必须实现抽象类中的抽象方法 { Console.WriteLine("这是一个抽象方法"); } }
class Program { static void Main(string[] args) { shap circle = new shap(); circle.fun(); circle.area(); } }
运行结果如下:
相关文章推荐
- C#基础:抽象类和抽象方法实现多态以及简单工厂设计模式的语法
- C# 抽象类和抽象方法详解
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
- C#抽象类和抽象方法的特征和用途
- C#_抽象类和抽象方法
- C#中的抽象类、抽象方法和虚方法
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法 分类: C# 2014-02-10 01:55 1675人阅读 评论(0) 收藏
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
- C#基础知识整理:基础知识(6) 抽象类和抽象方法
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
- C#回顾学习笔记三十一:抽象类与抽象方法
- C# 实现多态的的简单易学的例子-实现不同的用户登录到不同的界面(用抽象类,抽象方法实现的多态)加上泛型来实现
- C#基础知识整理:基础知识(6) 抽象类和抽象方法
- C# 之抽象类和抽象方法
- C#抽象类和抽象方法
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
- C#基础知识整理:基础知识(6) 抽象类和抽象方法
- C# 抽象类和抽象方法知识总结
- c# 抽象类和抽象方法实现
- C#抽象类和抽象方法