面向对象,继承,多态
using System;
namespace first1
{
public class Shape
{
protected string type;
protected double x, y;
public Shape()
{
x = 0;
y = 0;
type = "形状";
}
public Shape(double x, double y)
{
this.x = x;
this.y = y;
type = "形状";
}
public virtual double GetArea()
{
return x * y;
}
public string GetShapeType()
{
return type;
}
static void Main(string[] args)
{
Shape shape1, shape2;
shape1 = new Shape();
shape2 = new Shape(3, 7);
Console.WriteLine("园1的面积为:{0}", shape1.GetArea());
Console.WriteLine("园2的面积为:{0}", shape2.GetArea());
Console.ReadLine();
}
}
public class Circle : Shape
{
public const double pi = Math.PI;
public Circle(double r)
: base(r, 0)//用于从派生类中访问基类的成员:
{
type = "圆形";
}
public override double GetArea()//重写了此函数
{
return pi * x * x;
}
}
class Rectangle : Shape
{
public Rectangle()
: base()
{
type = "矩形";
}
public Rectangle(double x, double y)
: base(x, y)
{
type = "矩形";
}
}
}
本文深入探讨C#编程中的核心概念,包括面向对象特性、继承和多态的应用,通过实例代码展示如何在实际开发中有效利用这些特性提升代码的灵活性和可维护性。
4254

被折叠的 条评论
为什么被折叠?



