cs代码-1.仿圆类创建长方形类(Rectangle,包括长width和宽 height)和三角 形类(Triangle,包括...
在C#编程中,我们经常需要创建自定义的类来表示特定的对象或概念。这个案例中,我们将构建一个几何形状的类结构,包括圆、长方形和三角形,并且它们都继承自一个基类`Shape`。让我们详细讨论每个部分。 我们需要创建一个`Shape`基类,它将包含一些通用属性和方法。`Shape`类至少包含两个属性:`type`用于存储形状的类型,如"Circle"、"Rectangle"或"Triangle"。另外,为了实现`Display()`方法,我们需要一个抽象方法来计算形状的面积和周长,因为不同的形状有不同的计算方式。`Display()`方法将打印形状的名称、面积和周长。 ```csharp public abstract class Shape { public string Type { get; set; } public abstract double Area(); public abstract double Perimeter(); public void Display() { Console.WriteLine($"类型: {Type}, 面积: {Area()}, 周长: {Perimeter()}"); } } ``` 接下来,我们创建具体的形状类。首先是`Rectangle`类,它有两个属性:`Width`和`Height`,分别代表长和宽。`Rectangle`类需要覆盖`Area`和`Perimeter`方法: ```csharp public class Rectangle : Shape { public double Width { get; set; } public double Height { get; set; } public Rectangle(double width, double height) { Type = "矩形"; Width = width; Height = height; } public override double Area() => Width * Height; public override double Perimeter() => 2 * (Width + Height); } ``` 接着是`Triangle`类,它有三个属性:`A`, `B`, `C`,分别代表三条边的长度。计算三角形的面积通常可以使用海伦公式,而周长则是三边之和: ```csharp public class Triangle : Shape { public double A { get; set; } public double B { get; set; } public double C { get; set; } public Triangle(double a, double b, double c) { Type = "三角形"; A = a; B = b; C = c; } public override double Area() { var p = (A + B + C) / 2; return Math.Sqrt(p * (p - A) * (p - B) * (p - C)); } public override double Perimeter() => A + B + C; } ``` 我们创建一个`Test`类,它的`Main`方法将实例化各种形状并调用`Display()`方法来显示它们的信息。`Main`方法可能如下所示: ```csharp class Test { static void Main(string[] args) { Shape circle = new Circle(5); // 假设圆的半径为5 circle.Display(); Shape rectangle = new Rectangle(4, 6); rectangle.Display(); Shape triangle = new Triangle(3, 4, 5); triangle.Display(); } } ``` 在这个示例中,我们展示了如何在C#中构建一个基于面向对象编程的几何形状类层次结构。`Shape`基类提供了一种统一的方式来处理不同类型的形状,而子类则通过覆盖抽象方法来实现各自特性的计算。`Test`类中的`Main`方法是程序的入口点,它创建了不同形状的实例并显示它们的详细信息。这种设计模式在软件开发中非常常见,它允许我们以一种灵活和可扩展的方式处理复杂的数据结构。
- 1
- 粉丝: 10
- 资源: 928
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#基础语法 while和do...while循环语句
- 计算机二级考试备考需要充分了解考试内容与形式、制定合理的备考计划、掌握有效的备考技巧、保持良好心态以及关注考试动态
- 在VB.NET中处理数据结构是构建高效应用程序的关键部分,这里例举了VB.NET中一些常用的数据结构
- 24秋新生任务书.zip
- C、C++项目开发资源.docx
- SolidWorksAddinStudy-solidworks
- termux-install-linux-kali linux安装教程
- macos-virtualbox-虚拟机安装linux
- lanproxy-tcp/ip协议
- IntegerProgExperiment-线性规划