1,只提供一些方法规约,不提供方法主体,可有参数;
interface 例子:
public interface IPerson
{
IPerson(); //wrong
string name; //wrong
public void getIDcard();//wrong
void getName(); //right
void getAge(string s); //right
}
public class Chinese:IPerson
{
public Chinese(){} //构造函数
public void getName(){} //实现getName()
public void getAge(string s){} //实现getAge()
}
2,抽象类不能直接实例化,必须由其派生类实现。
public abstract 例子
public abstract class Book
{
public abstract void getPrice(); //抽象方法,不含主体
}
public class EnglishBook:Book
{
public override void getPrice() //实现抽象方法,必须在继承类中实现
{
Console.WriteLine("this is a test:EnglishBook override abstract getPrice()");
}
} |