herança de metodos

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!

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;
}

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.

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.