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# ArrayList类 1970-01-01
- 在ASP.NET Core中将路由和主体中的多个参数绑定到一个模型 2022-10-19
- C#运算符优先级 1970-01-01
- C#检查两个矩阵是否相同 1970-01-01
- C#检查当前线程的状态 1970-01-01
- C#带参数的构造函数 1970-01-01
- C#冒泡排序程序 1970-01-01
- C# do...while循环 1970-01-01
- C#封装public访问修饰符 1970-01-01
- C#按值传递参数 1970-01-01