
可重载和不可重载运算符
可以被重载的一元运算符:+、 -、 !、~、++、--
可以被重载的二元运算符:+、 -、 *、 /、 %
可以被重载的比较运算符:==、!=、<、>、<=、>=
不能被直接重载的条件逻辑运算符:&&、||
不能被重载的赋值运算符:+=、-=、*=、/=、 %=
不能被重载的其他运算符:=、 .、 ?:, ->、 new、 is、sizeof、typeof
动态多态性
在动态多态性中,函数的响应是在运行时发生的
使用关键字abstract创建抽象类,用于提供接口的部分类的实现
当一个派生类继承自该抽象类时,实现即完成
抽象类包含抽象方法,抽象方法可被派生类实现
抽象方法不允许有方法体的
当一个子类继承抽象类时,必须把父类的所有抽象成员都重写;若子类也是一个抽象类,可以不写
子类重写父类的方法,参数和返回值必须跟父类一样
抽象方法不能用static修饰
抽象类是有构造函数的,虽然不能被实例化
抽象类标记abstract,不能有任何实现,不能有方法体
using System;
namespace 动态多态性
{
abstract class Shape
{
public abstract int area();
}
class Rectangle : Shape
{
private int length;
private int width;
public Rectangle(int a = 0, int b = 0)
{
length = a;
width = b;
}
public override int area()
{
return (width * length);
}
}
class RectangleTester
{
static void Main(string[] args)
{
Rectangle r = new Rectangle(2, 4);
double a = r.area();
Console.WriteLine("RectangleArea is: {0}",a);
Console.ReadKey();
}
}
}
运行结果

以上就是深入理解c#多态的详细内容,更多关于C#多态的资料请关注易采站长站其它相关文章!










