C#常用方法详细讲解二
- 抽象方法(abstract)
- 扩展方法(Extend)
- 扩展接口(InterfaceExtend)
转载请标明出处: Python Excellent的博客
一、抽象方法(abstract)
* 抽象方法:
* 定义:一定要写在抽象类里面,不带方法体代码,不能进行实例化
* 特点:只规范一次
* 使用场合:强制性一定要实现该抽象方法的子类
*
* 与接口区别及使用场合:
* 区别: 1--抽象类单继承 接口可以多继承
* 2--抽象类中也可声明其它普通方法,虚方法等,接口只能写规范,不能写实现
* 使用场合:抽象类 一般用于不经常改动,且抽象范围大的事件、人,汽车
* 接口 适用于一些经常修改,但是需要规范的地方(如人的行为)
class Test
{
//控制台测试输出
static void Main(string[] args)
{
//5--抽象方法
AbstractMethodChild abstractChild = new AbstractMethodChild();
Console.WriteLine($"重写抽象方法输出:7 + 8 = {
abstractChild.Calculate(7, 8)}" + "\n");
InterfaceClass AddTest = new InterfaceClass();
InterfaceClass SubTest = new InterfaceClass();
Console.WriteLine($"接口方法输出:7 + 8 = {
AddTest.Add(7, 8)}" + "\n");
Console.WriteLine($"接口方法输出:7 - 8 = {
SubTest.Sub(7, 8)}" + "\n");
}
#region 抽象类
public abstract class AbstractMethod
{
/// <summary>
/// 已规范的抽象方法
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public abstract int Calculate(int a, int b);//无需具体方法体,只需规范即可
//抽象类中也可声明其它普通方法,虚方法等
public virtual <