2013-04-12 3 views
1

저는 C#에 익숙하지 않고 룰렛 시뮬레이터를 작성하려고합니다. 나는 바퀴와 일꾼이 있고 실업인이 바퀴를 돌리는 현실 세계를 시뮬레이션하려고합니다. 객체 지향 프로그래밍에서는 다른 객체의 다른 객체에 대한 메서드를 호출하는 것을 의미합니다. 아래 코드는 C#에서 올바른 방법으로 바퀴를 지나치는 곳입니다. 사전에객체에 메서드 호출하기

감사

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Test 
{ 
    class Program 
     { 
     static void Main(string[] args) 
     { 
      Wheel luckyWheel = new Wheel(); 
      Croupier niceLady = new Croupier(); 
      niceLady.SpinWheel(luckyWheel); 
     } 
    } 

    class Wheel 
    { 

     public void Spin() 
     { 
      Console.WriteLine("Wheel Spun"); 
     } 
    } 

    class Croupier 
    { 
     public void SpinWheel(Wheel spinMe) 
     { 
      spinMe.Spin(); 
     } 

    } 
} 
+2

어떤 문제가 있습니까? –

+0

[코드 검토] (http://codereview.stackexchange.com/)는 이러한 질문에 더 좋은 곳입니다. – publicgk

+0

주제를 벗어나, http://codereview.stackexchange.com/에 속합니다. –

답변

1

예, 그것은 시작에 맞습니다. 클래스를 다른 .cs 파일로 분리하는 것이 좋습니다.

0

예. 두 클래스가 동일한 어셈블리에 있으므로 Spin() 내부를 선언 할 수 있으므로 올바른 방법입니다.

2

네, 코드가 테스트 할 수있는 것처럼 정확하고 좋은 방법입니다. , 당신은으로 기능 클래스 Wheel, 하나 집행 등의 해당 기능의 : Croupier, ...

+1

+1에 게시 해보십시오. – CloudyMarble

0

당신이 그 클래스를 만들 때 택배로 휠을 전달하는 것이 더 좋은 방법 . 생성자는 필드에 휠 참조를 저장 한 다음 휠을 스핀하면 로컬 필드를 통해 휠에 액세스 할 수 있습니다. 그래서 같이

: 아담 K 딘은 dotFactory here에 의해 설명대로 전략 패턴을 사용하도록지도하는 바와 같이

class Program 
{ 
    static void Main(string[] args) 
    { 
     Wheel wheel = new Wheel(); 
     Croupier croupier = new Croupier(wheel); 
     croupier.SpinWheel(); 
    } 
} 

class Wheel 
{ 
    public void Spin() 
    { 
     Console.WriteLine("Wheel Spun"); 
    } 
} 

class Croupier 
{ 
    private Wheel wheel; 

    public Croupier(Wheel wheel) 
    { 
     this.wheel = wheel; 
    } 

    public void SpinWheel() 
    { 
     wheel.Spin(); 
    } 
} 
-1

당신은 그것을 향상시킬 수 있습니다.

관련 문제