Organização de classes

Olá gente, talvez vcs possam me ajudar a organizar um programa. A ideia é a seguinte: Eu tenho uma classe INTERCONEXÃO. Essa interconexao ela pode ser uma LINHA ou um TRANSFORMADOR. Bem INTERCONEXAO contem elementos como DE, PARA dentre outros. LINHA tem alguns paramentos e TRANSFORMADOR outros.

Alem disso uma interconexão pode possuir CARGA, REGULADOR, BANCO_CAPACITOR que sao outras classes tbm. Nao necessariamente tem todas ou só um. depende de cada interconexão.

Por fim, eu tenho uma classe chamada alimentador que tera um vetor de INTERCONEXÕES. A medida que le um banco de dados ou um arquivo ele vai decidir se vai ser LINHA ou TRANSFORMADOR e se vai ter CARGA e/ou REGULADOR e/ou BANCO_CAPACITOR.

Por favor me deem ideias. de como interface e/ou hierarquia me ajudariam nisso

Vc vai ler de arquivo mesmo, ou vai usar um Banco de Dados ?

Se for ler de um arquivo, como seria a configuracao do arquivo?

Tipo 1. Cada informacao em uma linha
Tipo 2: Em uma linha tem todas as informacoes de cada interconecao. Ex.:

linha carga
transformador carga
linha capacitor

De mais informaçoes sobre seu problema.
Informe alguma coisa que vc ja implementou

Ps. Coloque os codigos entre as tags CODE

Bom, esse é só um pequeno pedaço do programa e ele ja esta implementado. Ele por enquanto funciona lendo arquivos textos mas depois da fase de teste passará a ler o banco de dados da cemig. A leitura funciona da seguinte forma: é uma tabela onde cada linha representa uma interconexao. Essa linha lida tem tanto as informações de linha quanto as de transformador. Possui uma coluna tipo que indica se é linha ou transformador. Ele tambem tem flags indicativos para a presença de elementos como banco de capacitores, regulador etc.

Com estes flags as informações de linha transformador regulador etc poderam ser carregados de um banco de arquivos a parte

Apesar do programa ja estar funcionando eu preciso encapsula-lo.

Por favor, me deem uma ideia ou exemplos de uso de extends e interface