c#中的抽象类与抽象方法

c#中的抽象类与抽象方法

abstract 修饰

public class abstract void Text{//父类
	public abstract void Text1();
}
public class Text2:Text{//子类
	public override void Text3()
	{
		Console.WriteLine("试验");
	}
}

1.c#中抽象方法必须写在抽象类中 但是抽象类中可以有其他方法
例如:

public class abstract void Text{//父类
	public abstract void Text1();
	public string str;
	public string Str
	{
		set;
		get;
	}
}
public class Text2:Text{//子类
	public override void Text3()
	{
		Console.WriteLine("试验");
	}
}

2.抽象方法没有方法体(花括号都没有)
例如:

public abstract void Text1();

3.抽象类不能被实例化(不能new)

Text t = new Text();//这种写法不对不能实例化

4.子类必须重写所有的抽象方法
5.父类中的抽象方法能不被子类调用(抽象方法只是一个样子没有实际作用)

public class abstract void Text{//父类
	public abstract void Text1();
}
public class Text2:Text
{
	Text2 t = new Text2();
	//t.Text1();//用法错误不能调用父类抽象方法
}

6.抽象类就是让继承的,实现多态

你可能感兴趣的:(#,c#学习笔记)