Ajuda com modelo de classes

Olá pessoal !
Estou desenvolvendo um modelo de classes para uma aplicação financeira, e tenho algumas dúvidas sobre a melhor forma de se fazer.
Basicamente, a classe principal da aplicação se chama Operacao, que representa uma operação financeira, que pode ser crédito ou débito, tem os atributos Data, Descrição e Valor.
Existirão três tipos de Operações (não sei se aqui devo criar sub-classes):

  1. Simples (acontece uma única vez, em uma data específica)
  2. Fixa (acontece todos os meses, ex. recebimento de salário)
  3. Parcelada (acontece n vezes, cujo valor é o valor da parcela)

Os tipo 2 e 3 terão um atributo adicional, diaVencimento.

Não sei se o melhor é criar 3 classes diferentes ou criar uma única classe e espicificar um atributo “tipo” que recebe “SIMPLES”. “FIXA” ou “PARCELADA”

Baseada na experiência de vocês, o que seria melhor?

Valeu

Para a estrutura estática das suas classes parece coerente, mas seria melhor você nos contar o que o sistema tem que fazer…

Quando a operação é efetuada? Como ela funciona?

Olá,

Seguinte, se a operação para as três situações tiverem o mesmo comportamento, não há porque criar três classes … tendo em vista que a entrada e saida de dados sempre serão as mesmas… o que vai controlar isso é algum método que valida os periodos.

Agora se o comportamento das operações forem distintas com métodos e atributos especificos, fica show de bola a implementação das três subclasses.

Polimorfismo…é show de bola

falows

Olá, obrigado pela resposta.

Basicamente o sistema é um controle de conta corrente, uma operação acontece quando se faz um saque, paga-se uma conta ou deposita-se um cheque.
Como o controle tem que ser feito por mês, cada operação fixa deve “aparecer” todos os meses, e cada operação parcelada tem que aparecer nos meses onde há a parcela. Por exemplo, uma compra realizada em Maio parcelada em 3 vezes deve aparecer em Maio, Junho e Julho.

Acho que é isso.

Obrigado