C#- 我想要一个创建列表 oop 的方法

本文关键字:列表 创建 oop 方法 一个 我想要 C#- | 更新日期: 2024-11-07 03:39:33

这是我在这个平台上的第一个问题。你是我的神!我有一个小项目,在那里我学习如何在 C# 中查看 OOP。我有4个clas(形状,正方形,圆形,三角形)方形类实现了 2 个函数(面积和周长)和一个实现了这些功能的方法 GetPrint。其他类已使用每个表单所需的公式实现了面积和周长。现在我必须创建另一个类 ShapeFactory,它有 2 个接口(读取数据和打印数据)。我需要一种方法在 ReadData 中实现一个函数,该功能将在控制台中创建的所有表单存储在列表中,并在我选择选项 4(Exit) 以显示存储在该表中的区域和周长之后。例如:

            do
        {
            Console.ReadKey();
            Console.WriteLine("Choose a form:");
            Console.WriteLine("1:Triangle");
            Console.WriteLine("2:Square");
            Console.WriteLine("3:Circle");
            Console.WriteLine("4:Exit");
            Int32.TryParse(Console.ReadLine(), out i);
            if (i == 1)
            {
                Console.WriteLine("l1:");
                int n = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("l2:");
                int m = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("l3:");
                int q = Convert.ToInt32(Console.ReadLine());
                Triangle t = new Triangle(n, m, q);
                t.GetPrint();
                Console.ReadKey();
            }

我需要用户在控制台中添加的所有信息,以便将此三角形存储在具有 ReadData 接口的表中,并使用 PrintData 接口从该选项卡打印。我尝试实现 PrintData 以使用第一个想法 GetPrint,一旦 IF 语句结束,它就会在控制台中显示区域和周长。

C#- 我想要一个创建列表 oop 的方法

我对你想要发生的事情感到非常困惑。

假设正方形,圆形和三角形继承自形状。

 public class Circle : Shape

在程序的主要方法上。

    List<Shape> shapes = new List<Shape>();
    do
    {
        Console.ReadKey();
        Console.WriteLine("Choose a form:");
        Console.WriteLine("1:Triangle");
        Console.WriteLine("2:Square");
        Console.WriteLine("3:Circle");
        Console.WriteLine("4:Exit");
        Int32.TryParse(Console.ReadLine(), out i);
        if (i == 1)
        {
            Console.WriteLine("l1:");
            int n = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("l2:");
            int m = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("l3:");
            int q = Convert.ToInt32(Console.ReadLine());
            Triangle t = new Triangle(n, m, q);
            shapes.Add(t);
            t.GetPrint();
            Console.ReadKey();
        }
        // do the same for square and circle
        // shapes.Add(variable);

在应用程序退出之前结束时。

您可以

foreach(var shape in shapes)
{
    Console.WriteLine("Area: {0}'nPerimeter: {1}'n", shape.Area, shape.Perimeter); 
}

不确定这是否是你想要的...