2010-06-26 3 views
0

OOP (내 경우 C# 사용)에서 FIFA 축구 솔루션을 만들고 싶습니다. 지금은 팀, 그룹 (H 그룹 있음) 및 게임을 대표해야합니다.OOP 디자인 디자인 : 축구 팀

내가 그 클래스를 만드는했다 :

  1. 팀 - teamName, 점수 등의 여러 속성을 포함, 등 승리 ...
  2. 게임 - TeamA, TeamB (두 팀 객체)를 포함하고, 2 속성 TeamAScore, TeamBScore. 속성 그룹 이름, 팀의 객체 (크기 4), 게임 목록의 배열, AddGame 방법
  3. FIFA을 - 그룹 객체의 배열 (어레이 (7)의 크기) 내가 필요

이 포함되어 있습니다 -

  • 그룹 포함 팀 객체의 데이터 (TeamName, score, wins ...) + 팀의 Team GroupName + 해당 팀의 모든 게임을 포함하여 팀의 모든 정보를 인쇄하는 메소드입니다. 이를 위해서는 FIFA 클래스에서이 메서드를 만들어야합니다.

    나는이 레이아웃에 대해 완전히 만족하지는 않지만 실제로 그 이유를 설명 할 수는 없습니다. 여기에 어떤 결함이 있니? 제안?

  • +0

    내 MCPD 연구 프로젝트입니다. –

    +0

    "팀의 모든 정보를 노출하는 방법"은 ... 어떻게 노출됩니까? '돌려 보내라. '? – Dolph

    +0

    사실 모든 팀 데이터를 인쇄해야합니다. –

    답변

    0

    지난 질문과 관련하여 인쇄 기능을 어디에 둘 것인지. 나는 모든 클래스가 그것의 자신의 프린트를 갖도록 스케일을 조정할 것이다. 인쇄 데이터 관련성이 그룹 수준에서 멈추기 때문에 나는 거기에서 멈출 것입니다. 물론 grossvogel의 조언을 따르고 FIFA 등급에 게임 목록을 넣지 않는 한. 이런 식으로 뭔가 : 내일 할당 당신이 예를 들어 모든 FIFA의 ​​게임과 팀을 인쇄하는 데 필요한 경우 확장 성 코드의 재사용을 허용합니다

    class Team{ 
    ... 
    public void Print(){ 
    //prints TeamName, score, wins... 
    } 
    } 
    class Game{ 
    ... 
    public void Print(){ 
    //prints a description of the game (Who vs Who, final score) 
    } 
    } 
    class Group{ 
    private Team teams[4]; 
    private List<Game> games; 
    public void PrintTeamInfo(Team t){ 
        t.Print(); 
        foreach Game g in games{ 
         if (g.TeamA == t || g.TeamB == t) //assuming you overloaded == operator for Team 
          g.print(); 
        } 
    } 
    } 
    

    . 이전에 말했듯이 게임이 FIFA 클래스에 속한다고 판단되면 PrintTeamInfo도 거기로 이동해야합니다

    내 코드의 형식이 잘못되어 있으면 사과드립니다. C#으로 코드를 작성한 이후로 꽤 오랜 시간이 걸렸습니다.

    0

    디자인에 대한 나의 주된 관심사는 게임을 그룹 안에 넣는 것입니다. 오늘부터 그룹 간 게임이 있습니다.

    FIFA 클래스의 이름을 WorldCupTournament 또는 다른 이름으로 변경하지 마십시오. 그러면 올해와 2014 년의 컵을 모두 추적 할 수 있습니다.

    +0

    음, 이름을 변경할 수는 있지만 문제는 없습니다. 지금은 토너먼트의 첫 번째 단계를 대표 할 필요가 있습니다. 대신에 게임을 어디에 저장 하시겠습니까? –

    +2

    그렇지 않나요? 그룹 간 게임을 허용 할 미래의 변화를 예견하고 있습니까? 그렇다면 게임은 FIFA 클래스에 속하게됩니다. FIFA 클래스는 모든 그룹과 모든 팀을 알고 있습니다. – eladidan

    +3

    "가있다"관계를보고 물건이 어디에 속해 있는지 확인하십시오. 토너먼트에는 그룹이 있습니다. 그룹에는 팀이 있습니다. 토너먼트에는 게임이 있습니다. 게임에는 경쟁자 (팀)이 있습니다. – Ryan

    0

    프로그램의 입력과 출력은 무엇입니까?

    좋은 수업 구조를 디자인하는 것은 그 생각이 없으면 어려울 것입니다.

    관련 문제