1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Heranças. (C#)

Discussão em 'Programação' iniciada por andrepadez, 26 de Abril de 2008. (Respostas: 3; Visualizações: 583)

  1. andrepadez

    andrepadez Power Member

    Boas, pessoal, o meu xadrez vai de vento em popa mas agora deparei-me com um problema.

    Eu tenho duas classes principais:

    Squares - classe que tem x, y, tipo de peça em cima e cor dessa peça (TIpos Enumerados que têm valor para vazio)

    ChessBoard - onde crio uma matriz de 8x8 Squares.

    Até agora não precisei de as relacionar como pai e filho, até agora.

    Defini uma função Move(Squares sorce, Squares target) em Squares, que deveria fazer o seguinte:

    - chessboard.square[targetX, targetY].Type = this.Type;
    - chessboard.square[targetX, targetY].Color =this.Color;
    - Chessboard.square[sourceX, sourceY].Type = Type.Empty;
    - Chessboard.square[sourceX, sourceY].Color = Color.Empty;

    Foi aqui que percebi que tinha definir a classe Square como filha de Chessboard, mas quando o faço, ao compilar, dá-me erro ao criar a Matriz de Squares no construtor de Chessboard.

    Alguem sabe como posso resolver isto???

    Obrigado
     
  2. balute

    balute Power Member

    Acho que não faz sentido a função Move estar definida dentro da classe Squares. O local correcto para ela é a classe ChessBoard, pois esta é que contém todos os squares.

    Não precisas de criar nenhuma herança. As heranças servem para quando o filho tem que herdar as propriedades do pai, o que não é o caso. Senão o square, além de ser um square, era também um novo chessboard. :P
     
  3. andrepadez

    andrepadez Power Member

    thanx, vou tentar por aí.
     
  4. andrepadez

    andrepadez Power Member

    Muito obrigado, era mesmo isto.
     

Partilhar esta Página