2016-04-21 23 views
-4

这是我在这个平台上的第一个问题。你是我的一些神灵! 我有一个小项目,我学习如何在C#中看到OOP。 我有4个类(形状,方形,圆形,三角形) 方形类实现了2个函数(Area和Perimeter)和一个方法GetPrint,它们实现了这些函数。其他班级已经为每个表格实施了面积和周长所需的公式。 现在我必须创建另一个具有2个接口(ReadData和PrintData)的ShapeFactory类。 我需要在ReadData中实现一个函数的方法,它将控制台中创建的所有表单存储在列表中,并且在选择选项4(退出)以显示存储在该表中的区域和边界之后。 例如:C# - 我想创建一个列表的方法oop

  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接口TABEL打印。我试图实现PrintData来使用第一个想法GetPrint,一旦IF语句结束,它将在控制台中显示区域和边界。

+1

那么,你尝试过什么,到目前为止,你在哪里卡住?当然你不指望我们只为你写代码? (如果你这样做 - 这不是什么网站。) –

+0

不,我不是要求。问题是我需要了解更多关于如何使用接口的知识。为了在这些接口上实现一些东西,我尝试了很多东西,但现在它向我展示了任何结果。 –

回答

1

我对你想发生什么很困惑..

比方说,方形,圆形和三角形的形状,从继承..

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); 
} 

不知道这是否是你想要的...

+0

我仍在努力,但我认为你给了我一个好主意。感谢你的快速回复。如果我得到结果,我会回来。 –

相关问题