您的位置:首页 > 编程语言 > C#

C# 抽象类

2016-03-03 14:25 387 查看
抽象类使用abstract修饰符,用于表示类中的成员,(例如方法)不一定全部实现,可以只有声明部分而没有实现部分。抽象类只能用做基类。抽象类与非抽象类相比有以下主要不同之处。
1.抽象类不能直接被实例化,只能在扩充类中通过继承使用,对抽象类使用new运算符会产生编译错误。
2.抽象类可以包含抽象成员(有aabsctract修饰的成员),而非抽象类不能包含抽象成员。当抽象类派生非抽象类时,非抽象类必须实现抽象类的所有抽象成员。例如:
abstract class A{
public abstract void F();
}

abstract class B:A{
public void G(){}
}
class C:B{
public override void F(){

}

}


在非抽象类中实现的抽象类时,必须实现抽象类中的每一个抽象方法,而且每个实现的方法必须和抽象类中制定的方法一样,即接收相同数目和类型的参数,具有同样的返回值

using System;

namespace AbstractExample
{
public abstract class Fruit{
public virtual void itName(){
Console.WriteLine("this are fruits");
}

public abstract void itColor();
}

public class Apple:Fruit{
public override void itName(){
Console.WriteLine("this is a apple");
}

public override void itColor(){

Console.WriteLine("it's color is red");
}
}
class MainClass
{
public static void Main (string[] args)
{
Apple apple = new Apple();
apple.itName();
apple.itColor();
Console.ReadLine();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: