using System;namespace PolymorphismApplication {class Shape {protected int width, height;public Shape( int a = 0, int b = 0) {
编程学习网为您整理以下代码实例,主要实现:C#抽象和虚拟类,希望可以帮到各位朋友。
using System;
namespace polymorphismApplication {
class Shape {
protected int wIDth, height;
public Shape( int a = 0, int b = 0) {
wIDth = a;
height = b;
}
public virtual int area() {
Console.Writeline("Parent class area :");
return 0;
}
}
class Rectangle: Shape {
public Rectangle( int a = 0, int b = 0): base(a, b) {
}
public overrIDe int area () {
Console.Writeline("Rectangle class area :");
return (wIDth * height);
}
}
class Triangle: Shape {
public Triangle(int a = 0, int b = 0): base(a, b) {
}
public overrIDe int area() {
Console.Writeline("Triangle class area :");
return (wIDth * height / 2);
}
}
class Caller {
public voID CallArea(Shape sh) {
int a;
a = sh.area();
Console.Writeline("Area: {0}", a);
}
}
class Tester {
static voID Main(string[] args) {
Caller c = new Caller();
Rectangle r = new Rectangle(10, 7);
Triangle t = new Triangle(10, 5);
c.CallArea(r);
c.CallArea(t);
Console.ReadKey();
}
}
}
沃梦达教程
本文标题为:C#抽象和虚拟类


猜你喜欢
- C#将十进制转换为八进制数 1970-01-01
- C#基本语法 1970-01-01
- C#调用方法示例2 1970-01-01
- C# break语句 1970-01-01
- C#使用string.concat来连接字符串 1970-01-01
- C#嵌套switch语句 1970-01-01
- C#检查字符串是否包含特殊字符 1970-01-01
- C#使用递归来计算阶乘 1970-01-01
- C#主线程 1970-01-01
- C#抽象和虚拟类 1970-01-01