Pular para o conteúdo principal

Orientação a objetos | Conceitos (Métodos, construtores e sobrecarga de método)

Hoje vou falar sobre mais conceitos da orientação a objetos, neste caso vou tratar dos métodos, construtores e sobrecarga de método.

Lembrando que, o conteúdo são anotações das aulas, feitas juntamente a pesquisas, assim se achar que pode ficar melhor, basta contribuir.

Até aqui vimos encapsulamento, classe e atributo. Agora, iremos continuar tratando dos conceitos.

Método

Vistos anteriormente, os atributos são o que definem a classe, por exemplo, na classe Pessoa, há os atributos, peso, forte, nome. Até aqui tudo bem, mas, o que fazer com cada uma dessas informações ? E é ai que os métodos entram.

Os métodos representam as ações que a classe oferece, e são executadas somente quando são chamadas. Um outro ponto é que esses métodos devem utilizar os atributos.

Além dessas características, os métodos apresentam sua forma de definição, que de maneira simples, são feitas através do nome do método, seus argumentos e seu tipo de retorno. Essas são as características necessárias para poder descrever os métodos, onde:
  • Nome: Representa o nome do método;
  • Argumentos: Representam formas de entradas, que server como um auxilio;
  • Retorno: O tipo de retorno também deve ser explicito no método.
Com essas informações é possível descrever um método, como foi citado, e ainda, é possível criar métodos com nomes iguais, porém com algumas modificações, ou seja, caso algum dos argumentos do método um, sejam de tipos diferentes já é o suficiente para que um segundo método com mesmo nome seja criado. Este recurso é chamado de assinatura.

Veja abaixo um exemplo da utilização da assinatura.


class Pessoa{
  
  String nome;
  double peso;
  boolean forte;


  // Declarando o método
  public void mostrarForca(){
   
   if (forca >= 120){

     System.out.println("Muita força");

   } else if ( forca < 119){

     System.out.println("Menos força que o forte");
   
   } 
 
  }
  
  public void mostrarForca(int peso){

    if(forca > peso){
 
      System.out.println("O peso foi levantado");
   
    } else {
      System.out.println("O peso ainda está no chão!");
    }

  }

}

Perceba que não ouve problemas em fazer a utilização de dois métodos com nomes iguais, mas isso porque um dos itens da assinatura são diferentes, que neste caso é o argumento.

Construtor

O construtor é um tipo especial de método, ele é um dos poucos que não apresentam retorno, e servem basicamente para a criação de objetos. Sendo assim, toda vez que for necessário a criação de um objeto de uma classe, o construtor será utilizado.

Ele permite uma utilização mais efetivas para os métodos e atributos, através da geração do objeto. Quando um método é gerado, é possível colocar através do construtor se este objeto irá iniciar ou não com valores pré-definidos.

Este por ser um método, também implementa a questão das assinaturas, porém aqui há uma diferença, não é necessário colocar o retorno, até porque como ele cria uma classe, seu retorno está implícito, onde cada vez que alguém o aciona, ele retorna um objeto com o mesmo tipo da classe que o chamou.

Mas o que ocorre caso eu não faça a declaração de um construtor em meu código ? Não vou conseguir compilar ? Não vai executar  ?
Vamos lá, começando com a questão da execução e compilação. Primeiro, o programa será executado normalmente,  o compilador Java ao não encontrar um construtor, cria um default, para aquela classe, este apenas com o nome da classe, mas vazio, como é demonstrado abaixo.


class Pessoa(){
  
  public Pessoa(){

  }

}


A sobrecarga de método

Acima, na seção do método fiz uma pequena demonstração de como a sobrecarga de método se caracteriza. Bem antes de irmos até a parte prática, vejamos sobre o que é a sobrecarga. Basicamente a sobrecarga de método é o ato de dispor de diversas ações que tenham o mesmo método, porém, podendo variar em seu tipo ou em seus argumentos.


class Calculadora(){
  
  public Integer calcular(Integer a, Integer b){

   return a + b;  
 
  }
  public void calcular(Integer a, Integer b){

   System.out.println("A soma é: " + (a + b));  
 
  }

}

Assim como no exemplo passado, há dois métodos iguais, porém este código funciona normalmente, exatamente pela sobrecarga de método, aqui você pegou um método já definido e criou algo em cima dele alterando apenas, neste caso o tipo, ou os argumentos.


Bem este é o fim, até a próxima.

Comentários

Postagens mais visitadas deste blog

Sistemas operacionais | O problema da sincronização e a exclusão mutua

Olá, hoje vou tratar sobre a sincronização dos processos e como esta forma de trabalho trouxe alguns problemas na implementação dos sistemas operacionais. Como de costume, aviso que, as informações aqui são frutos das anotações das aulas de sistemas operacionais. Com a chegada dos sistemas multiprogramados outro problema também surgiu, o compartilhamento de recursos entre os processos. Processos concorrentes Para que exista concorrência entre os processos é sabido que é necessário que haja a comunicação entre os processos, para que os mesmos saibam os passos do outro processo e assim consigam gerar  a concorrência. Essa comunicação é feita através de várias formas, seja esses utilizando buffer de memória, uma variável global ou  trocas de mensagens.  Esses mecanismos de comunicação entre os processos são chamados de mecanismos de sincronização, esses são fundamentais para garantir a confiabilidade dos processos que estão sendo executados em um sistema operaciona...

Engenharia de software | Eriksson-Penker Bussiness Extensions (Conceitos)

Eriksson-Penker Bussiness Extensions (EPBE), é uma forma de modelagem de negócios que foi criada a partir da UML (Notação utilizada em projetos de aplicações orientada a objetos).  Essa criação foi feita por conta de a UML ser um modelo bastante extensível. A criação A criação desta forma de modelagem veio em 2000, quando seus criadores perceberam que no mercado de modelagem de negócios existiam muitos padrões diferentes, o que gera um problema, não há padrão, isso porque cada empresa e área de negócio utilizava um padrão diferente. Então eles geraram um modelo padrão para a modelagem de processos e negócios, este nomeado  Eriksson-Penker Bussiness Extensions Modelagem Quando foi criado, o EPBE foi descrito para uso de qualquer empresa, isso porque seus criadores identificaram que as empresas podem ser representadas através de Processos, Recursos, Regras e Objetivos . Veja as características de cada um desses pontos: Recurso: Representam todos os recursos...