Comentários

0%

FOCO NO MERCADO DE TRABALHO

CONSTRUTORES E SOBRECARGA

Jesimar da Silva Arantes

Melhorando a modelagem do robô e incorporando de novos recursos

Criação de construtores para classe robô, definição de atributos em constantes, sobrecarga de método e criação de uma nova classe para a função main.

Fonte: Shutterstock.

Deseja ouvir este material?

Áudio disponível no material digital.

Sem medo de errar

A startup em que você trabalha lhe passou a tarefa de melhorar a modelagem da classe robô incorporando a ela novos recursos. Assim, o seu chefe, após revisar o seu código, listou as seguintes tarefas:

Após olhar com calma todas as sugestões de seu chefe, você percebeu que a primeira coisa que devia fazer era pesquisar qual o IDE que melhor lhe atenderia. Para isso, você decidiu instalar os principais (Eclipse, Netbeans e IntelliJ IDEA), e após alguns testes, escolheu um.

Em seguida, você decidiu revisar o Código 1.4 para iniciar as modificações solicitadas. Inicialmente, você analisou com calma todos os atributos que seu robô tinha, como nome, peso, velocidadeMax, pesoCargaMax, tipoTracao, posicaoX e posicaoY, e percebeu que os atributos nome, peso, velocidade máxima, peso da carga máxima e tipo de tração não se alteravam para um mesmo robô, dessa forma, decidiu declará-los como constantes, utilizando a palavra reservada final

Posteriormente, você analisou a classe Robô e viu que ela tinha apenas o construtor padrão (implícito), então, criou quatro construtores com as seguintes assinaturas: public Robo(), public Robo(String nome), public Robo(String nome, float peso) e public Robo(String nome, float peso, float posX, float posY)

Após isso, você se deparou com o problema de sobrecarregar o método move. Após pensar bastante, percebeu que esse problema parecia bem difícil no contexto, logo, criou apenas a seguinte assinatura: public void move(float pos), em que o robô se moveria apenas para frente ou para trás, conforme o valor passado como argumento. 

Por fim, você decidiu retirar da classe Robo a função main. Para isso, criou uma nova classe chamada App.java, em que colocou a função main. Após esses passos, o seu programa ficou pronto, com todas as alterações do seu chefe, e parecido com o Código 2.7. 

Código 2.7 | Nova modelagem das classes App e Robo
public class App {
    public static void main(String[] args) {
        Robo objRobo = new Robo();
        objRobo.move(60, 50);
        objRobo.move(55);
    }
}
public class Robo {
    float posicaoX;
    float posicaoY;
    final String nome;
    final float peso;
    final float velocidadeMax = 5;
    final float pesoCargaMax = 20;
    final String tipoTracao = "esteira";
    ...
    public Robo(String nome, float peso){
        this.nome = nome;
        this.peso = peso;
        this.posicaoX = 50;
        this.posicaoY = 50;
    }
    public Robo(String nome, float peso, float posX, float posY){
        this.nome = nome;
        this.peso = peso;
        this.posicaoX = posX;
        this.posicaoY = posY;
    }
    public void move(float pos){
        this.posicaoY = pos;
    }
    public void move(float posX, float posY){
        this.posicaoX = posX;
        this.posicaoY = posY;
    }
}
Fonte: elaborado pelo autor.
Atenção

Diversas partes foram omitidas, e o código completo pode ser acessado no GitHub do autor.

Bons estudos!

AVALIE ESTE MATERIAL

OBRIGADO PELO SEU FEEDBACK!