Buscar

livro 2

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

Continue navegando