Imagine que o objeto A contém um objeto B que contém um objeto C e assim por diante…
Imagine que o objeto Z precisa utilizar uma tabela que o objeto A possui.
O que é mais correto/seguro/usual de se fazer?
Passar essa tabela por parâmetro, do A para o construtor do B, do B para o construtor do C…
Ou criar um método estático A.getTabela() ?
Eu gosto da idéia do método estático, mas me disseram pra evitar métodos estáticos…
O que me dizem?
Propriedades só devem ser estáticas se forem propriedades da Classe.
Se vc precisa de uma informação do OBJETO A vc deve passar o OBJETO A para a classe que irá utiliza-lo.
Mas tipo, coloca mais detalhes das classes para termos noção de quais informações são estas, ficaria mais fácil responder.
Posso tentar, mas é complicado pq estou fazendo uma IDE para uma linguagem não muito conhecida por aqui, chamada Ladder.
Recomento tentarem responder lendo só o que escrevi lá em cima mesmo… mas quem quiser tentar entender mais pode ler abaixo… vou tentar explicar do modo mais simples possível…
Vejamos…
A classe A, na verdade é a classe Project, e ela contem uma tabela de simbolos utilizada por todo o programa, que chamo de Symbols.
E a classe Project contém uma classe chamada Ladder, que tem a parte da programação…
A classe Ladder contém Logic (a tabela lógica do programa).
A tabela Logic contém Cell, que contém LadderCellComponent que contém Address (endereço do componente na memória do CLP, o computador para o qual vão programar usando essa IDE).
E a classe Address, em um de seus métodos, precisa saber alguns dados sobre este endereço na classe Symbols (que pertence a classe Project).
No caso de Z ter uma referência de A, eu teria que passar essa referencia objeto a objeto, até chegar em Z… seria a mesma coisa que passar a tabela… Essa é uma boa solução?
Ladder? Está trabalhando com automação industrial?
Só uma dúvida.
Essa tabela de Symbols é montada como? Vc lê informação de algum lugar, uma ROM por exemplo, e carrega os objetos nessa tabela ou ela é fixa direta no código fonte?
[quote=Avante]Ladder? Está trabalhando com automação industrial?
Só uma dúvida.
Essa tabela de Symbols é montada como? Vc lê informação de algum lugar, uma ROM por exemplo, e carrega os objetos nessa tabela ou ela é fixa direta no código fonte?
[]'s[/quote]
Ela é fixa no código fonte, que vai ficar na ROM do CLP.
Trabalha com isso tb? Manda msg direto pra mim se quiser trocar umas idéias…