Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Estácio Teresina
Curso de Ciência da Computação
Programação Orientada a Objetos em JAVA
Aula 2 – Introdução à programação em JAVA
Joselito Mendes de Sousa Junior
Situação Problema
 Abstrair um problema é parte importante do processo de
desenvolvimento de software, dessa forma, quanto mais próximo da
realidade de um programador, que é um ser humano, o problema a ser
resolvido possa ser representado, melhor será o seu entendimento e
consequentemente, a implementação torna-se mais simples e inteligível
para todos os envolvidos no processo de desenvolvimento, inclusive do
cliente para o qual o programa está sendo desenvolvido. Vamos analisar a
seguinte situação: Um programador é contratado para desenvolver um
software para uma empresa de produtos de beleza, e o software em
questão possui vários módulos; como o responsável pelo Recursos
Humanos da Empresa, controle de estoque, marketing, controle da frota
de caminhões. Todos esses módulos funcionam como peças de um todo,
mesmo sendo independentes; sendo assim, diversos programadores
poderiam trabalhar de forma independente em cada um dos módulos.
Além disso, seria possível adquirir módulos prontos sem ao menos
conhecer a implementação deles, utilizando apenas interfaces de
comunicação. Quais as vantagens você enxerga nesse tipo de abordagem
em relação ao paradigma estruturado? Levante questões em relação ao
tempo de desenvolvimento, custos, reuso entre outras que achar
pertinente.
2
Conceitos Iniciais
 Orientação a objetos (OO) = paradigma de programação
 Estruturado, funcional, ...
 Em OO, os problemas são resolvidos pensando em
interações entre diferentes objetos
 Estruturado, por exemplo, os problemas são decompostos em
procedimentos/funções que somadas farão um programa
 Escrever um código em OO objetiva transformar os
objetos do mundo real em linhas de código, tornando-os
parte deste
3
Programação Orientada a Objetos
 Programação orientada a objetos, ou POO:
“Dizemos que um objeto encapsula a lógica de negócios
concentrando a responsabilidade em pontos únicos do
sistema, viabilizando um maior reuso do código pela
modularidade dessa abordagem.” (Batista, 2013)
4
Benefícios da abordagem OO
Modularidade: uma vez criado, um objeto pode ser
passado por todo o sistema.
 Encapsulamento: detalhes de implementação ficam
ocultos externamente ao objeto.
 Reuso: uma vez criado, o objeto pode ser utilizado em
outros programas.
Manutenibilidade: manutenção é realizada em pontos
específicos do programa.
5
Estruturação
 Para entender bem o paradigma de POO, é importante ter
domínio de quatro definições
 Um modelo pode representar objetos, atributos e métodos
 Um conjunto de modelos pode representar uma classe.
6
Classes
Objetos
Atributos
Métodos
Estruturação
 Por exemplo, consideremos uma lâmpada e um modelo
para representá-la:
 Lampada é o objeto, ou seja, a representação do mundo real.
 estadoDaLampada é o atributo, ou seja, a informação ou dado
básico deste objeto do mundo real que queremos guardar.
 acende (), apaga (), mostraEstado() são os métodos, ou seja,
operações que podemos realizar na lâmpada.
7
Lampada
- estadoDaLampada
- acende ()
- apaga ()
- mostraEstado ()
Estruturação
8
Apple iPhone 14 PlusSamsung Galaxy S22 Ultra
Cor = preto fosco
Preço = R$ 6.000,00
Armazenamento = 128 GB
Wireless PowerShare
Nightography
Cor = preto espacial
Preço = R$ 8.699,00
Armazenamento = 128 GB
Detecção de Acidente
Dynamic Island
Estruturação
9
Apple iPhone 14 PlusSamsung Galaxy S22 Ultra
Cor = preto fosco
Preço = R$ 6.000,00
Armazenamento = 128 GB
Wireless PowerShare
Nightography
Cor = preto espacial
Preço = R$ 8.699,00
Armazenamento = 128 GB
Detecção de Acidente
Dynamic Island
OBJETOS
Estruturação
10
Apple iPhone 14 PlusSamsung Galaxy S22 Ultra
Cor = preto fosco
Preço = R$ 6.000,00
Armazenamento = 128 GB
Wireless PowerShare
Nightography
Cor = preto espacial
Preço = R$ 8.699,00
Armazenamento = 128 GB
Detecção de Acidente
Dynamic Island
ATRIBUTOS
Estruturação
11
Apple iPhone 14 PlusSamsung Galaxy S22 Ultra
Cor = preto fosco
Preço = R$ 6.000,00
Armazenamento = 128 GB
Wireless PowerShare
Nightography
Cor = preto espacial
Preço = R$ 8.699,00
Armazenamento = 128 GB
Detecção de Acidente
Dynamic IslandMÉTODOS
Estruturação
12
Apple iPhone 14 PlusSamsung Galaxy S22 Ultra
Cor = preto fosco
Preço = R$ 6.000,00
Armazenamento = 128 GB
Wireless PowerShare
Nightography
Cor = preto espacial
Preço = R$ 8.699,00
Armazenamento = 128 GB
Detecção de Acidente
Dynamic Island
OBJETOS
ATRIBUTOS
MÉTODOS
CLASSE
O Objeto
 Objetos são um conjunto de dados que representam a
estrutura e comportamento, inerentes às entidades,
concretas ou abstratas, do mundo real.
 Ou seja, qualquer coisa que tenha algum significado dentro
do contexto do problema
 Exemplos de objetos
 Um livro
 Um carro
 Um celular
 Uma porta
13
autor
editora
ano publ.
O Objeto
 Objetos são um conjunto de dados que representam a
estrutura e comportamento, inerentes às entidades,
concretas ou abstratas, do mundo real.
 Ou seja, qualquer coisa que tenha algum significado dentro
do contexto do problema
 Exemplos de objetos
 Um livro
 Um carro
 Um celular
 Uma porta
14
modelo
cor
ano
O Objeto
 Objetos são um conjunto de dados que representam a
estrutura e comportamento, inerentes às entidades,
concretas ou abstratas, do mundo real.
 Ou seja, qualquer coisa que tenha algum significado dentro do
contexto do problema
 Exemplos de objetos
 Um livro
 Um carro
 Um celular
 Uma porta
 Cada objeto consiste em uma entidade com identidade
própria!
15
modelo
cor
ano
Os Atributos
 Todo objeto deve ter uma identificação
 Suas características de composição estão associadas à sua
constituição e definem sua estrutura.
 Tais características são denominadas de atributos.
16
marca
cor
peso
preço
bateria
Celular
Os Atributos
 Todo objeto deve ter uma identificação
 Suas características de composição estão associadas à sua
constituição e definem sua estrutura.
 Tais características são denominadas de atributos.
 Os atributos podem ser um simples valor ou mesmo
ser um outro objeto.
17
marca
cor
peso
preço
bateria
Celular
Os Atributos
 Todo objeto deve ter uma identificação
 Suas características de composição estão associadas à sua
constituição e definem sua estrutura.
 Tais características são denominadas de atributos.
 Os atributos podem ser um simples valor ou mesmo
ser um outro objeto.
18
marca = ‘xingling’
cor = ‘preto’
peso = 2.5
preço = 850
bateria = objeto Bateria 
Celular
Os Métodos
 Além das suas características, um objeto apresenta
também suas ações ou serviços que ele pode executar.
 Tais ações ou serviços são chamados de métodos.
19
cor = ‘cinza’
altura = 1.85
largura = 1.10
preço = 250
fechadura = objeto Fechadura
abrir()
fechar()
Porta
As Classes
 Se dois ou mais objetos apresentam as mesmas
características e ações, diz-se que eles pertencem a
uma mesma classe.
 Os dois relógios são objetos distintos, mas ambos
apresentam os mesmos atributos e podem executar os
mesmos métodos.
20
Relógio do José Relógio da Maria
As Classes
 Se dois ou mais objetos apresentam as mesmas
características e ações, diz-se que eles pertencem a
uma mesma classe.
 Os dois relógios são objetos distintos, mas ambos
apresentam os mesmos atributos e podem executar os
mesmos métodos.
21
Relógio do José Relógio da Maria
cor = ‘preto’
peso = 1.85
preço = 250
pulseira = ‘metal’
hora()
data()
corrigir_hora()
cor = ‘azul’
peso = 1.77
preço = 320
pulseira = ‘couro’
hora()
data()
corrigir_hora()
Classe
Relógio
As Classes
 Uma classe define as características de um grupo de
objetos.
 Ou seja, como serão as instâncias pertencentes a ela
 Dessa forma, uma classe especifica quais serão os
atributos e métodos de todos os objetos pertencentes
a ela.
22
As Classes
 Importante
 Não confundir classe comobjeto!
 Objeto = CONCRETO
 Classe = IDEIA
 Exemplo: receita de bolo
 Você não come a receita de bolo. Você come o bolo!
 A receita é a classe.
 O bolo é o objeto.
23
Exemplo Prático
 Agora que a teoria foi dada, hora de colocar a mão na
massa!
 Aprendemos como criar uma classe com seus
atributos e métodos e, a partir dela, criar objetos
diferentes.
 Criaremos uma classe para conta bancária, simples e
especial.
24
Exemplo Prático
 A sintaxe da criação de uma classe no JAVA é desta
forma:
25
A palavra reservada class,
para indicar que estamos
criando uma classe
O nome da classe. Sempre
com a primeira letra em
maiúsculo!
Exemplo Prático
26
Os atributos, que são os
mesmos para qualquer
tipo de conta, são
criados
Exemplo Prático
27
Criação do primeiro
método! Ele começa
com a palavra reservada
void pois não vai
retornar nada, e
posteriormente vem o
nome do método,
começando com letra
minúscula!
Exemplo Prático
28
Dessa forma, todas as
contas que forem criadas
a partir dessa classe
terão um nome, um
saldo e um tipo de conta,
podendo ser especial ou
não.
Além disso, irão poder
depositar ou sacar algum
valor!
Exemplo Prático
 Podemos melhorar a classe ContaBancaria criando
mais um método para mostras as informações da conta
criada:
 Isso completa nossa classe. Podemos então criar
diferentes objetos de ContaBancaria para testar!
29
Exemplo Prático
 Testando
30
O método para o teste deve ter essa sintaxe!
Exemplo Prático
31
Exemplo Prático
32
Exemplo Prático
33
Exemplo Prático
34
O método para o teste deve ter essa sintaxe!
Criamos os objetos: duas contas de pessoas
diferentes.
Depois atribuímos as características da conta 1:
essa conta deve ser comum.
Exemplo Prático
35
Exemplo Prático
36
O método para o teste deve ter essa sintaxe!
Criamos os objetos: duas contas de pessoas
diferentes.
Depois atribuímos as características da conta 1:
essa conta deve ser comum.
Já a conta 2 deve ser especial. Na linha 61
alteramos o valor do atributo comum a todos
apenas para essa conta!
Exemplo Prático
37
Conclusões
38
 POO: paradigma de programação que faz interações com
objetos do mundo real
 Objeto: representação de entidades do mundo real.
 Atributo: características inerentes do objeto.
Métodos: ações que os objetos podem realizar.
 Classes: especificações de objetos com os mesmos atributos e
métodos.
 POO com JAVA: modelagem de uma classe, seus atributos e
métodos para a criação de objetos.
 https://www.youtube.com/watch?v=Gq1BS63pkRA
https://www.youtube.com/watch?v=Gq1BS63pkRA
Atividade Verificadora de Aprendizagem
 Em grupos, identifiquem as classes e atributos para
cada uma das situações abaixo:
a) Em uma turma de um curso de graduação, temos
disciplinas ministradas em salas diferentes.
b) A transportadora “Super Cometa” monitora seus
caminhões e motoristas através de um controlador
embutido. Por meio dele é possível saber a localização de
cada veículo.
39
Atividade Autônoma Aura
 Questão 1:
O paradigma de programação orientada a objetos nasceu da necessidade de trazer o
entendimento de problemas computacionais para mais próximo do mundo real. Levando
em consideração os conceitos de programação orientada a objetos, julgue os itens a
seguir:
I - Classes e objetos possuem atributos e métodos, no entanto, uma classe é apenas um
modelo que é usado para criar objetos diferentes do mesmo tipo.
II - Os atributos de um objeto são o que ele sabe fazer e o métodos são o que ele sabe.
III - uma classe é capaz de armazenar estados através de seus atributos e reagir a
mensagens enviadas a ela, assim como se relacionar e enviar mensagens a outras
classes.
Estão corretas as alternativas:
A) I
B) I e II
C) I, II e III
D) II e III
E) III
40
Atividade Autônoma Aura
 Questão 2:
Os paradigmas de orientação a objeto e estruturado tem aplicações diversas na computação pois
apresentam características distintas que os tornam adequados a aplicações específicas. Por exemplo, para
desenvolver um programa para uma empresa de Recursos Humanos que irá ajudar a selecionar candidatos
para um perfil de vaga específico e será modificado e atualizado constantemente, o paradigma mais
adequado seria o orientando a objetos, mas se você irá desenvolver um software para o controle do frio
ABS de um automóvel, o qual irá executar em um microcontrolador que possui diversas restrições de
memória e processamento, seria mais adequado a utilização do paradigma estruturado. Diante dessas duas
situações motivadoras e de seus conhecimentos em relação aos paradigmas orientado a objetos e
estruturado, relacione as características com os respectivos paradigmas
I - Orientado a objetos
II - Estruturado
( ) Reutilização de código
( ) Tratamento de dados misturados com o comportamento do programa
( ) utiliza um conjunto de procedimentos para resolver um problema
( ) representação de problemas de forma abstrata
A) I, I, II, II
B) II,I,II,I
C) II,II,I,II
D) I,I,II,I
E) I, II, I, II
41
Exercícios de Fixação
1. Modifique o método mostraDados () da classe
ContaBancaria para que, caso o saldo esteja negativo,
uma mensagem de alerta seja impressa.
 Dica: O saldo só poderá ser negativo se a conta for especial.
2. Modifique o método abreConta () da classe
ContaBancaria de forma que o cliente só possa abrir uma
conta com um valor mínimo de R$ 100,00.
3. Crie um método transfere () do tipo booleano que tenha
como parâmetros dois objetos do tipo ContaBancaria e o
valor a ser transferido de uma conta para outra. Esse
método deverá utilizar os métodos deposita e saque da
classe. O tipo booleano de retorno do método é para
sinalizar se a operação de transferência de valores foi
realizada com sucesso, ou seja, se o valor a ser transferido
da conta de origem for menor ou igual ao saldo dessa
conta.
42

Mais conteúdos dessa disciplina