2016-04-21 49 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

我仍在努力,但我認爲你給了我一個好主意。感謝你的快速回復。如果我得到結果,我會回來。 –

相關問題