Baixe o app para aproveitar ainda mais
Prévia do material em texto
30/10/2020 fmt_kls202_u1s1_lin_ori_obj https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=jucimarferreirajfs%40gmail.com&usuarioNome=JUCIMAR+FERREIRA+DA+SILVA&disciplinaDescricao=DESENVOLVIMENTO+ORIENTADO… 1/5 FOCO NO MERCADO DE TRABALHO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS EM PROGRAMAÇÃO Jesimar da Silva Arantes Imprimir SEM MEDO DE ERRAR A startup em que você faz estágio está com um grande desa�o na área de robótica. O seu chefe lhe havia solicitado que modelasse um simulador em Java que demostrasse as funcionalidades do robô de transporte. Você e sua equipe se reuniram e juntos decidiram chamar o robô a ser projetado de Robô Autônomo Transporte de Mercadoria (R-ATM). MODELANDO O ROBÔ R-ATM INTELIGENTE Utilizando a programação orientada a objetos para organizar os códigos e implementar soluções no departamento de logística do cliente. Fonte: Shutterstock. Deseja ouvir este material? Áudio disponível no material digital. 0 Ve r an ot aç õe s 30/10/2020 fmt_kls202_u1s1_lin_ori_obj https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=jucimarferreirajfs%40gmail.com&usuarioNome=JUCIMAR+FERREIRA+DA+SILVA&disciplinaDescricao=DESENVOLVIMENTO+ORIENTADO… 2/5 Os projetistas do robô especi�caram, por enquanto, que o R-ATM será do tipo esteira e possuirá braços robóticos para captura das caixas. O robô terá um peso de aproximadamente 70 kg, e sua velocidade de deslocamento máxima atingirá por volta de 5 m/s. Não se sabe ainda qual será a capacidade de carga máxima do robô, mas os especialistas acreditam que ela girará em torno de 20 kg. Essa e outras especi�cações serão mais bem ajustadas ao longo do desenvolvimento do projeto. Foi especi�cado que o robô vai operar em uma sala plana de formato, a princípio, retangular. O robô saberá, mediante tecnologia de rádio, a própria localização em tempo real. Dessa forma, o robô terá uma localização descrita em coordenadas x, y. Com base nessas especi�cações iniciais, o seu chefe pede que você inicie a modelagem da classe robô enquanto os engenheiros projetam o hardware dele. Para resolver a questão da proposta, você percebe que precisa iniciar a modelagem da classe robô e precisa criá-la com os seguintes atributos: nome peso velocidadeMax pesoCargaMax tipoTracao posicaoX posicaoY Como o seu robô pode deslocar-se pelo ambiente, você também decide criar um método para mover o robô para uma dada posição x e y. Você decide também criar um método para imprimir o status do robô. Esse método de impressão de status auxilia a veri�car o estado da classe robô e prevenir erros. 0 Ve r an ot aç õe s 30/10/2020 fmt_kls202_u1s1_lin_ori_obj https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=jucimarferreirajfs%40gmail.com&usuarioNome=JUCIMAR+FERREIRA+DA+SILVA&disciplinaDescricao=DESENVOLVIMENTO+ORIENTADO… 3/5 Não foram especi�cadas, ainda, nas reuniões com a equipe as dimensões da sala em que o robô se encontra. Você então assume que é uma sala quadrada bem grande de dimensões de 100 metros por 100 metros. A �m de simpli�car as coisas, você decide colocar o robô no centro da sala, ou seja, na posição (50, 50). O Código 1.4 a seguir mostra como é uma possível codi�cação da situação-problema aqui apresentada. 0 Ve r an ot aç õe s 30/10/2020 fmt_kls202_u1s1_lin_ori_obj https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=jucimarferreirajfs%40gmail.com&usuarioNome=JUCIMAR+FERREIRA+DA+SILVA&disciplinaDescricao=DESENVOLVIMENTO+ORIENTADO… 4/5 Código 1.4 | Classe em Java que modela a entidade robô da situação-problema 1 public class Robo { 2 String nome = "R-ATM"; 3 float peso = 70; 4 float velocidadeMax = 5; 5 float pesoCargaMax = 20; 6 String tipoTracao = "esteira"; 7 float posicaoX = 50; 8 float posicaoY = 50; 9 public void move(float x, float y){ 10 posicaoX = x; 11 posicaoY = y; 12 } 13 public void printStatus(){ 14 System.out.println("-----------Info R-ATM----------"); 15 System.out.println("Nome do Robô: " + nome); 16 System.out.println("Peso do Robô: " + peso); 17 System.out.println("Velocidade Max: " + velocidadeMax); 18 System.out.println("Carga Max: " + pesoCargaMax); 19 System.out.println("Tipo de Tração: " + tipoTracao); 20 System.out.println("Posição X do Robô: " + posicaoX); 21 System.out.println("Posição Y do Robô: " + posicaoY); 22 System.out.println("-------------------------------"); 23 } 24 public static void main(String[] args) { 25 Robo objRobo = new Robo(); 26 objRobo.printStatus(); 27 objRobo.move(60, 50); 28 objRobo.printStatus(); 29 objRobo.move(65, 55); 30 objRobo.printStatus(); 31 } 32 } 0 Ve r an ot aç õe s 30/10/2020 fmt_kls202_u1s1_lin_ori_obj https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=jucimarferreirajfs%40gmail.com&usuarioNome=JUCIMAR+FERREIRA+DA+SILVA&disciplinaDescricao=DESENVOLVIMENTO+ORIENTADO… 5/5 Fonte: elaborado pelo autor. No Código 1.4, após modelar a classe robô, foi colocado o método main para testar o seu funcionamento. Tendo se executado a classe robô, o robô, que inicialmente se encontrava na posição (50, 50), em seguida move-se para a posição (60, 50) e, por �m, move-se para a posição (65, 55). Con�ra as novas posições do robô impressas na tela pelo método printStatus. Até esse ponto colocamos o método estático main, ponto de entrada da aplicação, dentro da nossa classe robô. Você acha que esse método main deve �car nessa classe? Ou parece-lhe mais adequado que ele �que em outro local? Responderemos melhor a essa pergunta nas seções seguintes do livro. 0 Ve r an ot aç õe s
Compartilhar