Jump to content
JD557

Relação de composição em vários ficheiros

Recommended Posts

JD557

Boas noites,

Tenho um projecto da faculdade para entregar em breve. O trabalho já está feito e funcional, mas como tenho de entregar um diagrama UML resolvi dar um jeito ao código de forma a tirar as partes "feitas à trolha".

Como neste caso me fazia sentido ter relações de composição, acabei a meter várias classes privadas dentro de outras.

Exº:

  • class EcraJogo
    • class KeyboardListener
    • class MouseListener
    • class NovoJogoMenu
      • class OKListener

      [*]class OpcoesMenu

      • class OKListener

Há alguma forma de eu colocar a classe NovoJogoMenu e a classe OpcoesMenu em ficheiros separados (sendo que elas continuam a ter acesso aos membros privados de EcraJogo)?

Só quero mesmo tentar meter o código bonito, antes já tinha isso a funcionar de outra maneira, mas ia ficar uma salgalhada no UML. :)

Se calhar é uma pergunta um bocado básica, mas já estive à procura no google e não encontro nada.  :thumbsup:


MIEIC @ FEUP

http://project557.blogspot.com/ --- Development Blog

Proteja a sua pen: http://lastknight.pt.vu

Share this post


Link to post
Share on other sites
Knitter

Separar e manter o acesso aos membros privados, directamente, não. Mas podes ter métodos de acesso, como é suposto, e usar esses métodos para aceder aos membros.

Não há grande motivo para se pretender aceder directamente ao membros privados de uma classe, deve ser tudo feito por métodos de acesso.

Não sei como tens o código feito, e será difícil dizer a melhor maneira para separar as coisas, mas não me parece que essas classes que tens sejam sequer precisas. Isto olhando para os nomes delas e tentando adivinhar o que fazem.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.