您的位置:首页 > 职场人生

黑马程序员_抽象类和抽象方法

2014-03-28 13:54 267 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

抽象类表示一种抽象的概念,只是希望以它为基类的派生类有共同的函数成员和数据成员。

抽象类使用abstract修饰符,对抽象类的使用有以下几点规定:

• 抽象类只能作为其它类的基类,它不能直接被实例化。

• 抽象类允许包含抽象成员,虽然这不是必须的。抽象成员用abstract修饰符修饰。

• 抽象类不能同时又是密封的。

• 抽象类的基类也可以是抽象类。如果一个非抽象类的基类是抽象类,则该类必须通过覆盖来实现所有继承而来的抽象方法,包括其抽象基类中的抽象方法,如果该抽象基类从其它抽象类派生,还应包括其它抽象类中的所有抽象方法。

using System;
abstract class Figure//抽象类定义
{
protected double x = 0, y = 0;
public Figure(double a, double b)
{
x = a;
y = b;
}
public abstract void Area();//抽象方法,无实现代码
}
class Square : Figure///类Square定义
{
public Square(double a, double b): base(a, b)
{ }
public override void Area()//不能使用new,必须用override
{ Console.WriteLine("矩形面积是:{0}", x * y); }
}
class Circle : Figure///类Square定义
{
public Circle(double a): base(a, a)
{ }
public override void Area()
{ Console.WriteLine("园面积是:{0}", 3.14 * x * y); }
}
class Class1
{
static void Main(string[] args)
{
Square s = new Square(20, 30);
Circle c = new Circle(10);
s.Area();
c.Area();
}
}


----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息