Buscar

Desenvolvimento Orientado a Objetos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Desenvolviment
o Orientado ao 
Objetos
Conceitos do desenvolvimento 
orientado a objetos
Profa Ms. Adriane Ap. Loper
• Competência da Unidade: entender os conceitos
básicos de desenvolvimento Orientada a Objetos.
• Resumo: Nesta aula iremos abordar o processo
inicial de desenvolvimento para construção de
aplicações orientada a objetos.
• Palavras-chave: Classe, Objeto,software.
• Título da Teleaula: Conceitos do desenvolvimento
orientado a objetos
• Teleaula nº: 01
Contextualizando
Você foi aprovado como estagiário em uma startup que
atua no ramo de alta tecnologia. Essa startup presta
serviços para diversas empresas diferentes.
Recentemente, seu chefe fechou um projeto com um
grande portal de e-commerce (portal de venda pela
internet).
Uma vez que esse portal efetua as vendas de diversos
produtos distintos, e uma vez que o volume de vendas
dele é muito grande, é necessário um sistema
automatizado para auxiliar no transporte dos produtos
comprados.
Fonte: Shutterstock
Contextualizando
O seu chefe, inicialmente, propôs desenvolver um robô
móvel inteligente para efetuar o transporte
autonomamente dos produtos vendidos até uma
determinada área destinada ao setor de carregamento
da mercadoria.
Diante desse grande desafio, o seu chefe escalou você
para trabalhar com uma equipe multidisciplinar a fim de
resolver esse problema. A equipe com que você trabalha
é composta, principalmente, por: engenheiros, cientistas
da computação, profissionais de marketing e equipe de
vendas.
Fonte: Shutterstock
Contextualizando
O seu chefe designou a equipe para desenvolver as
estruturas de dados do sistema robótico e a
demonstração da aplicação, dando apoio ao marketing e
à equipe de vendas, enquanto o produto físico
(hardware do robô) está em desenvolvimento pelos
engenheiros.
Essa demonstração da aplicação será feita por um
simulador para esse robô móvel inteligente que
demostre as funcionalidades deste. Foi solicitado a você
desenvolver esse simulador em Java com a utilização das
boas práticas da OO.
Fonte: Shutterstock
Conceitos
Conceitos básicos 
de orientação a 
objetos em 
programação
Conceitos
 Paradigma = modelo, padrão.
 Em paradigma de orientação a objetos = uma
maneira, um estilo de se programar.
 O computador recebe, processa e disponibiliza
nomes, valores, fórmulas e textos que, de forma
genérica, chamamos de dados. Tudo isso, por meio
de um programa.
 Santos (2003) nos ensina que o paradigma de
programação orientada a objetos considera que os
dados a serem processados e os mecanismos de
processamento desses dados devem ser
considerados em conjunto.
Paradigmas da programação
A programação orientada a objetos (POO) é um
paradigma de programação que utiliza abstrações
para representar modelos baseados no mundo real.
Uma forma de entender a orientação a objetos (OO)
é pensar nela como uma evolução da programação
procedural. Fonte: Autora
Quatro Pilares da OO
CLASSE, OBJETO, ATRIBUTO E MÉTODO
 CLASSE E OBJETO
 Um dos elementos mais básicos da OO é a ideia
de organizar o código em classes que
representam algo do mundo real ou imaginário.
Um outro elemento básico dentro da OO é a ideia
de objeto, que nada mais é do que a
manifestação concreta, também chamado de
instância, da classe.
Classe e objeto
 A fim de entender melhor o conceito de classe,
vamos pensar na entidade robô.
 Caso você tenha apenas imaginado um robô
abstrato, sem forma física, que é uma máquina
capaz de tomar decisões por si mesma, então
você agiu corretamente.
 Se você imaginou um robô físico, como um robô
na cor azul que anda sobre esteira, com dois
braços e uma antena, então você não pensou no
conceito de robô, mas sim em uma manifestação
física possível de robô.
Classe e objeto
 Lembre-se: a ideia de robô é abstrata, assim
como são as classes em Java.
 Uma boa forma de compreender uma classe é
pensar nela como o projeto ou a modelagem de
algo.
 Caso tenha imaginado algo concreto, então você
pensou em um objeto, que é uma manifestação
possível da ideia de robô, semelhantemente à
ideia de objeto em Java.
 Esses objetos são instâncias da classe robô.
Fonte: Autora
Atributo
 Os principais elementos que compõem uma
classe são os atributos e os métodos.
 Um atributo é um elemento que representa as
características intrínsecas da classe.
 O robô: suponhamos que, para caracterizarmos
alguns robôs, os seguintes atributos possam ser
criados: nome, cor, velocidade máxima, nível
atual da bateria, peso da carga máxima
suportada, tipo de tração, e presença ou não de
antena.
Atributo
A ideia de classe, é semelhante à ideia de registro (struct) na linguagem C, uma
vez que esses atributos da classe são semelhantes aos campos (variáveis) de um
registro. Os diversos campos de um registro são acessados por um único
ponteiro, assim como os atributos da classe são acessados por um único objeto.
Fonte: Autora
Método
Um outro elemento importante de uma classe são os métodos. Um método
dá ao objeto da classe a capacidade de executar algum tipo de ação,
comportamento ou processamento. Um robô é capaz de executar uma série
de ações – o nosso robô modelado é capaz de se mover, pegar caixas,
entregar as caixas e até mesmo falar.
Fonte: Autora
Impressão
 System.out.println, que imprime e pula de linha.
 System.out.print para fazer a impressão sem
pular linhas.
 System.out.printf que recebe dois argumentos: o
primeiro, um literal, para formatação da
impressão, e, outro, uma lista com os objetos a
serem impressos.
 System.out.printf é semelhante ao comando
printf em C. Um operador muito comum utilizado
na concatenação de literais (Strings) em Java é o
operador ‘+’.
Resolução da SP
Modelagem do 
robô
 Robô a ser projetado de Robô Autônomo Transporte
de Mercadoria – Nome: (R-ATM).
 Será do tipo esteira e possuirá braços robóticos para
captura das caixas.
 Peso de aproximadamente 70 kg, e sua velocidade
de deslocamento máxima atingirá por volta de 5 m/s.
 Capacidade de carga máxima em torno de 20 kg.
 Vai operar em uma sala plana retangular.
 O robô saberá por tecnologia de rádio, a própria
localização em tempo real. Suas coordenadas x, y..
 Atributos: nome, peso, velocidadeMax,
pesoCargaMax, tipoTracao, posicaoX, posicaoY
Conceitos
Introdução à 
Aplicações 
Orientadas a 
Objetos
Contextualizando
Você fará uma animação utilizando alguma
ferramenta 3D que simule um robô andando em uma
sala retangular. Usaremos a ferramenta Alice.
As principais funcionalidades que a animação deve
contemplar são:
 O robô deve se mover.
 O robô deve fazer o reconhecimento do cenário.
 O robô deve sair de um local de origem e chegar
até um local contendo caixas.
 O robô deve conseguir identificar os conteúdos
das caixas.
Animações e jogos 3D com POO - Alice
 O software Alice é uma ferramenta que auxilia no
ensino e aprendizagem de programação (DANN et
al., 2012).
 Essa ferramenta permite que programadores novos
criem animações e jogos usando ambientes 3D de
forma fácil, apresentando a OO de maneira
bastante lúdica.
 Vamos conhecer o software Alice?
 Nesta seção utilizaremos o software Alice 3, em
específico a versão Alice 3.5.0. Acesse o site dessa
ferramenta (CARNEGIE MELLON UNIVERSITY, [s.d.]),
Animações e jogos 3D com POO - Alice
 baixe e efetue sua instalação.
 Alice usa uma linguagem de blocos construída sobre a
linguagem Java, e focamos, em geral, a criação de
animações tridimensionais
 Outro ponto a ser destacado é que após a instalação
do Alice pode ser necessária a instalação do Java
Development Kit (JDK) caso você não disponha do JDK
instalado. O download do JDK pode ser feito no site
de download do Java (ORACLE, 2020).
 O Alice é uma ferramenta gratuita e multiplataforma.
Ferramenta Alice
Ferramenta Alice
Ferramenta Alice
Alguns elementos principais disponíveis nesse ambiente
são:
 A tela gráfica da cena montada.
 O botão para configuração da cena (setup scene).
 Os procedimentos previamente desenvolvidos.
 A área destinada aodesenvolvimento de código.
 Entre os elementos principais presentes nessa tela:
 O componente que está selecionado.
 O botão para iniciar a execução.
 As classes de objetos disponíveis.
 As propriedades do componente selecionado.
Resolução da SP
Funções do robô 
com Alice
 Analisando a solução mostrada, podemos reparar que
o único objeto que se move na cena é a câmera.
 Isso fornece o efeito de que o robô está se
deslocando na cena.
 Ao utilizar o método turn associado à câmera, o
efeito é que o robô está fazendo o reconhecimento
do cenário.
 Assim que o robô chega nas caixas, ele verifica cada
uma delas, olhando o seu conteúdo.
 A forma que você utilizou para demostrar o
reconhecimento do conteúdo das caixas é alterando
as cores das caixas e colocando uma mensagem
associada a cada uma delas.
 Então você decide mostrar a animação ao seu chefe.
 Ele gostou bastante da animação, que é apresentada
para a empresa de e-commerce.
 A empresa adorou a demonstração das
funcionalidades básicas do robô e está bastante
animada com o andamento do projeto
Interação
Entenderam as 
definições básicas 
de POO?
Conceitos
Visão de game em 
programação 
orientada a 
objetos
A LINGUAGEM OO NA CRIAÇÃO DE JOGOS 2D
 Com a ferramenta Greenfoot, podemos criar
jogos com diversos personagens controlados por
inteligência artificial simples.
 Uma das vantagens do Greenfoot é que ele
permite fazer a criação de jogos e animações
bidimensionais de forma bastante simples
rapidamente.
 O Greenfoot tem sido utilizado no ensino de
programação em diversas universidades.
A LINGUAGEM OO NA CRIAÇÃO DE JOGOS 2D
Como fazer essas instruções?
 O robô deve se mover.
 O robô deve evitar regiões da sala em que existem
máquinas trabalhando.
 O robô não pode se deslocar sobre as caixas
presentes no cenário.
 O robô deve dispor de duas velocidades de
deslocamento.
 A sala deve ter um formato retangular.
 A visualização do robô deve ser em terceira pessoa.
A LINGUAGEM OO NA CRIAÇÃO DE JOGOS 2D
 Você quer criar um jogo e que nesse jogo existem
diversos personagens controlados por alguma
inteligência artificial simples (bots).
 Nesse jogo também há um personagem que você
pode controlar, além dos objetos que compõem o
cenário.
 Imagine, agora, que queremos desenvolver esse jogo
não em uma linguagem de blocos, mas utilizando
uma linguagem de programação tradicional, como o
Java.
A LINGUAGEM OO NA CRIAÇÃO DE JOGOS 2D
 Uma das formas de fazer isso é programando
manualmente todas as telas gráficas do jogo 2D,
utilizando alguma biblioteca gráfica do Java.
 Outra forma é utilizando alguma ferramenta que
abstraia os detalhes de interface, e você se desenvolve
apenas as regras do jogo. É exatamente isso que o
Greenfoot faz.
 Conheceremos agora essa ferramenta que auxilia de
forma imensa no processo de criação de jogos e
animações.
 O Greenfoot é chamado de Ambiente de
Desenvolvimento Integrado (IDE) para a linguagem
Java.
A LINGUAGEM OO NA CRIAÇÃO DE JOGOS 2D
 Utilizaremos o software Greenfoot, versão Greenfoot
3.6.1.
 Você pode acessá-la em Greenfoot ([s.d.]a), baixar e
efetuar sua instalação.
 Outro ponto a ser destacado é que, após a instalação
do Greenfoot, pode ser necessária a instalação do Java
Development Kit (JDK), caso você tenha o JDK
instalado. O download do JDK pode ser feito no site da
Oracle (2020).
 O Greenfoot é uma ferramenta gratuita e
multiplataforma.
Greenfoot
 Tela de trabalho:
Fonte : A autora
Greenfoot
 Passos para criação/inserção de um cenário de
fundo e um personagem:
Fonte : A autora
Resolução da SP
Relatório
 O primeiro passo que deve ser feito é a
definição de como deve ser a sala/galpão, em
que você especifica onde deverão ficar cada um
dos itens do jogo.
 O próximo passo é baixar algumas imagens de
caixas, pois o Greenfoot não dispõe de
nenhuma do seu agrado.
 Você decide também desenvolver as próprias
imagens de robô, pois o Greenfoot não tem
nenhuma do seu agrado.
 Assim, você desenvolve quatro imagens do
robô, cada uma associada ao deslocamento
para um dos lados (baixo, frente, esquerda e
direita). A este tipo de imagens utilizadas em
jogos damos o nome de sprite.
 Após resolvida a questão das imagens a serem
utilizadas, chega-se a uma solução .
 Essa imagem mostra o cenário e os atores
criados, bem como as suas posições.
Cenário da situação-problema com os atores.
Trechos de códigos implementados para resolver o
problema de deslocamento do robô por algumas
regiões do cenário. Essa figura mostra também o
código utilizado para fazer a mudança de
velocidade do robô, acionada pela tecla espaço.
Conceitos
Estruturas de 
programação
orientadas a objetos
Programação Orientada a Objetos - Ferramentas
A utilização do ambiente de desenvolvimento on-
line Jdoodle, por ter utilização simples, prática e 
direta. Dessa forma, abra o 
site www.jdoodle.com/online-java-compiler/
Instância
• Representa cada ocorrência de um OBJETO de uma CLASSE.
Nome da classe: Funcionario
• Atributos: matricula, nome, cpf, telefone, sexo, idade.....
Funcionário
Matricula: 123
Nome: “João”
Dt Nascimento: 22/03/1979
CPF: 999.999.999-9
Telefone: “43 – 9999-9999”
Endereço: “Rua Brasil, 10”
Cidade: “Londrina”
Funcionário
Matricula: 123
Nome: “João”
Dt Nascimento: 22/03/1979
CPF: 999.999.999-9
Telefone: “43 – 9999-9999”
Endereço: “Rua Brasil, 10”
Cidade: “Londrina”
InstânciaInstância
Operações
Uma ação que o objeto executa. As operações são 
responsáveis por efetivar as ações de uma classe.
Fonte, o autor, 2019
Atividade
Crie uma classe Funcionario e inclua uma 
operação.
• Nome da operação: calcSalario()
• Tipo: void
• Parâmetros: salário do funcionário, tipo: 
double.
Crie também o método no código-fonte.
Interação
Entenderam como 
iniciar a 
programação Java?
Recapitulando
Conceitos do desenvolvimento da orientação a 
objetos:
 Conceitos básicos de orientação a objetos em 
programação;
 Introdução à aplicações de orientação a 
objetos;
 Uma visão de Game em POO.

Continue navegando

Outros materiais