herança de metodos

3 respostas
E

boa dia a todos.

olá amigos do guj minha duvida é em relação a herança de metodos.

minha duvida é se é melhor acessar os metodos herdados diretamente ou criar um objeto
e acessar os metodos atraves dele ???

tenho o seguinte codigo, já testei e os dois me atendem, qual seria o melhor levando em conta desempenho e boas praticas.

assim:

[color=blue]        RichTable richTable = (RichTable)rowDisclosureEvent.getSource();

richTable.setSelectedRowKeys(rowDisclosureEvent.getAddedSet());
richTable.getDisclosedRowKeys().size() ;
    richTable.getDisclosedRowKeys().clear();

[/color]

ou assim:

[color=blue]        RichTable table = (RichTable)rowDisclosureEvent.getSource();

RowKeySet disclosedRowKeySet = table.getDisclosedRowKeys();
disclosedRowKeySet.size();
    disclosedRowKeySet.clear();

[/color]

Obrigado!

3 Respostas

discorpio

Boa tarde Edifreittas.

Isso depende do processamento da sua aplicação:

Se voce pretende dar a solução final do processamento dentro da linha da comando onde voce invoca o método, então nesse caso é melhor utilizar o método diretamente, no qual voce diz que é método herdado.

Já se voce for passar a solução do processamento como parâmetro para outro método, então o melhor é criar o objeto e passá-lo como parâmetro. Ex.

public RowKeySet getDisclosedRowKeySet(RichTable table) {
      table = (RichTable)rowDisclosureEvent.getSource(); 
      RowKeySet disclosedRowKeySet = table.getDisclosedRowKeys(); 

      disclosedRowKeySet.size(); 
      disclosedRowKeySet.clear();
      
      return disclosedRowKeySet;
}
E

obrigado discorpio.

mais em relação a processamento e consumo de memória
voçê sabe me dizer se a diferença de uma para o outro é muito
grande? no caso de uma aplicação com varios acessos simutâneos.

discorpio

Olá Edifreittas.

Isso também depende do tamanho da sua aplicação e principalmente da quantidade de Objetos que ela instancia simultaneamente na memória. É claro quanto mais objetos voce instanciar em memória, maior será o consumo dela.

Eu te dei o exemplo da passagem de parâmetro do método, porque quando variáveis e objetos são criados dentro de um método qualquer, assim que os seus valores são passados para outro método, e este último método sai de escopo, as variáveis e objetos que foram criados dentro deles são limpas da memória automaticamente pelo Garbage Colector do Java.

É por isso que se voce construir uma aplicação com uma boa prática de orientação a objetos, onde voce instancia uma objeto temporariamente em memória para usá-lo somente no momento em que precisa, (prática esta que ficou conhecida na antiguidade da programação como Técnica de Overlay) torna a sua aplicação apenas complexa na performance, porém simples no processamento, e com uma pequena utilização de memória, e esta é o segredo profissional de sucesso de todas as aplicações.

Criado 27 de abril de 2011
Ultima resposta 27 de abr. de 2011
Respostas 3
Participantes 2