Você está na página 1de 53

POO –

Programação
Orientada à Objeto
Lyrane Bezerra
Tecnóloga em Automação Industrial
Objetos

• Objetos, na programação dos


sistemas, são os elementos do
mundo real. Estes serão
representados dentro dos
softwares.

• Na programação são utilizados


apenas objetos relevantes para
solução do problema.
Tipos de Objetos

Objeto Concreto Objeto Abstrato Outros Objeto

Objetos que
Objetos de forma geral Objetos que expressam representam um evento.
uma função – ação. Interação entre objetos.
Ex: aula
Atributos

• São características que descrevem um


objeto, são os valores desses objeto.

• Atributos são todas as informações


importantes e relevantes que servem
para caracterizar um objeto.
• Exemplos:
• O que é característica relevante
para o programa?
Métodos
• Os métodos são ações que os objetos podem
executar.
• Na programação orientada a objetos, a única
maneira de interagir com os objetos é por meio dos
métodos (ações) que ele possui. Chamamos de
interface o conjunto de métodos que um objeto
possui.
• A descrição de um método deve ocorrer por meio
de um verbo ou uma ação e no final deve conter
parênteses.
• Exemplo:
• Quais ações são importantes para um
software?
Estado do Objeto
• Vamos imaginar o elevador de um edifício. Em seguida, vamos
pensar nos métodos (ações) e nos atributos (características)
que podem ser atribuídos ao objeto Elevador.
• Atributos
• Direção
• Porta
• Estado
• Tipo de carga
• Métodos
• transportar()
• abrirPorta()
• fecharPorta()
• atenderChamado()
• Vamos observar as conclusões:
Estado do Objeto
• O Estado do objeto é o conjunto
de valores dos atributos de um
objeto em um dado momento.

• Elevador faz parte de uma classe


também chamada de Elevador.
• Tal classe tem como método
principal transportar.
• Os atributos do objeto terão valores
diferentes conforme o momento da
operação em que esse objeto se
encontra.
Evento
• Na POO a única maneira de interagir com
os objetos é por meio dos métodos que
ele possui. O método, a principio, é
apenas a definição de uma classe.

• O evento ocorre quando um método é


invocado por meio do objeto.

• Eventos são interações (parâmetros)


internas e externas que auxiliam na
execução do programa.
Parâmetros do Método
• Um método pode alterar o atributo da
classe com que está interagindo, por meio
de argumentos em adição a seu objetivo
(parâmetros). Isso significa que é possível
passar parâmetros ou dados na chamada
do método.
• O método é parte da classe, e não parte do
objeto. Nesse sentido, o método pode
também ser herdado de outra classe.
• O método é descrito por meio de um verbo,
seguido de parênteses. Opcionalmente,
podemos inserir os parâmetros do método
entre os parênteses.
Interação entre Objetos
• Vamos retomar o exemplo do elevador.
• Quem inicia a operação do objeto Elevador é alguém que quer utilizar os
métodos (ações). Em outras palavras, tudo começa com alguém que
necessita ser transportado a algum andar por meio do elevador.
• Vamos utilizar dois objetos, João e objeto elevador que vão interagir.
• Como no mundo real,
• João vai chamar o elevador,
• esperar o elevador chegar,
• esperar a porta ser aberta,
• entrar no elevador e
• escolher para qual andar quer ir.
• Em seguida, João vai aguardar que o elevador chegue ao andar
escolhido,
• esperar a porta ser aberta e
• sair.
Interação entre Objetos
A interação sempre acontece obedecendo um fluxo pré-estabelecido. Caso contrário pode
ocorrer erres de execução.
Interação entre Objetos
• A complexidade nos relacionamentos entre
os objetos sempre vai aumentar à medida
que criamos mais classes para definir novos
objetos. Desse modo, precisamos definir,
claramente, a que classe os métodos e os
atributos devem pertencer.

• Quanto mais detalhamos e especificamos


as situações, mais o código se aproxima do
mundo real. Com isso, o código vai se
tornando cada vez mais complexo.
Em Resumo:
• Ao escrever um programa OO, cria-se um
modelo do mundo real – Modelo descrito
por partes, que são os objetos que
aparecem no domínio do problema.
• Os objetos possuem características
próprias, denotadas por atributos.
• Os objetos possuem
funções(comportamentos– específicos),
dados por métodos
• Os objetos podem ser categorizados,
agrupados, e uma classe descreve todos os
objetos de um tipo particular.
Classes Objeto é uma Instância
de uma classe com
atributos próprios.
• Objetos, na programação dos
sistemas, são os elementos do
mundo real. Estes serão
representados dentro dos
softwares.

• Na programação são utilizados


apenas objetos relevantes para
solução do problema.

Objetos são diferentes, mas são agrupados na mesma Classe,


pois possuem características semelhantes.
Classes

• Objetos de um mesmo tipo


possuem os mesmos
comportamentos

• Dizemos que objetos de mesmo


tipo pertencem à mesma classe
• Uma classe é um tipo a
partir do qual objetos são
criados
Classes

• Objetos de um mesmo tipo


possuem os mesmos
comportamentos

• Dizemos que objetos de mesmo


tipo pertencem à mesma classe
• Uma classe é um tipo a
partir do qual objetos são
criados
Classes

• A classe define:
• Os elementos de dados que um
objeto contém (atributos)
• O comportamento que o objeto
possui (métodos)
• A maneira como esses elementos
de dados e métodos podem ser
acessados(interface)
Classes

• Representa uma abstração de


objeto:
• Tipo Abstrato de Dado: tipo
definido pelo usuário
• Contém toda a descrição da
formado objeto
• Molde para a
criação do objeto
• Matriz geradora de
objetos
• Fábrica de objetos
Como o Java Funciona
• Criação do documento para o código fonte.
Código- • Linguagem Java
Fonte

OBS: O bytecode
• Onde o seu código-fonte é executado. compilado é
• Procura erros, só permite execução se estiver tudo certo. independente
Compilador
de plataforma.

• O compilador criará um documento em bytecode Java.


• Qualquer dispositivo capaz de executar Java vai interpretar/converter o arquivo
Saída
(Código) em algo para processar.

• Não tem uma máquina Java física, mas possuem, nos equipamentos, a máquina
Máquina Java virtual que permite ler e executar o bytecode.
Virtual
Código fonte
Resumindo...
Projeto – é uma série de arquivos Java
Projeto que colaboram entre se.

Classes Está organizado em classes que interagem


em eventos dentro do programa.
Método 1
Instrução
OBS: Java aceita comentários.
Os comentários são boas práticas de
Método 2 programação para informa do que se
trata as linhas de código escritas.
Instrução Comentário de uma linha //, com duas
Instrução linhas ou mais, /* no inicio, */no final.
/** comentário java doc que geram um
arquivo de documentação, é a construção
do documento do seu software.
Desafio

• Comece a construção do seu projeto.


• Crie pacotes
• Imagine o que está relacionado a cada pacote.
Variáveis e Constantes
• Espaço de memória responsável por guardar uma
informação.

• Sintaxe:
• Tipo de dado Nome da variável;
• int idade;
• int matricula = 21234569 (com atribuição de
valores)

• Por convenção as constantes são declaradas em


letra maiúscula.
• Obs: Final – antes da declaração de uma variável
fixa o seu valor (torna constante e impede a sua
modificação ao logo do programa).
Algumas observações
• Uma variável maior não cabe dentro de
uma variável menor.
• Ex: Um número int, não cabe dentro de
uma variável declarada como short.

• Dentro de um programa utilizamos


geralmente o tipo int ou double para dados
numéricos caso haja necessidade de
manipular dados maiores utilizamos outros
tipos.
Exemplo
Inferência de Tipos
• Em java o comum declaração de variáveis dentro do método main.
• Outra forma de declarar uma variável em java é por inferência,
usamos o comando var, definimos o nome da variável e atribuímos
um valor. A declaração e atribuição deve obrigatoriamente estarem
na mesma linha, pois o java não compreende usar o var em uma
linha sem inicializar a variável, o mesmo não terá o que inferir.
• O programa por deduz que a variável é de um determinado tipo de
guarda na memória.
• Exemplo: var b = 3.14;

• Obs: Na inferência você não pode atribuir um valor diferente do


declarado. No exemplo anterior não é possível atribuir um texto a
variável b. ex: var b = 3.14;
b = “nome”; // ela não aceita texto, apenas número.
Existe uma exceção no caso de valores declarados como reais
aceitarem(guardarem) inteiros, porém ele exibi o inteiro com suas casas
decimeis vazias.
Import

• Geralmente todo as as informações referentes a classe ficam dentro da classe, dentro do


método main.
• As informações que ficam foram da classe, geralmente estão relacionadas a controle.
• O que fica fora?
• O pacote – pois contém a classe
• O Import – são funções que que necessitamos para utilizar alguns comandos.
• Ex: Date – para utiliza-lo é necessário importar uma estrutura. (obs.: existem vários
comandos “iguais”(com o mesmo nome) para serem importados. Porém é
importante saber qual utilizar.)
Import

Obs: o java lang é o pacote que contém


funções básicas do java para construção
simples dos programas. Ex: o string,
System... são comandos do pacote java
lang.
O que não pertence a esse pacote e é
função adicional nós vamos importar.
Import – exemplo com comentários
Import - atalho
• Para colocar o import automaticamente:
• Ctrl + espaço – parece a opção que
você deseja utilizar do pacote.
Classe - Características

• A classe possui:
• Membros de uma classe:
• Métodos
• Atributos – possuem tipos (ex: int, double...)
• variáveis : muda a cada execução (ex: quantidade de faltas)
• Constantes: não vai modificar (ex: nome)
• Classes: (pode acontecer em situações muitos específicas.)
• Nem sempre possui o método principal
• Construtores: é método especial, cria um objeto partir de uma classe ( new ...)
• Uma classe define um tipo, um tipo é uma estrutura de dados. (É a definição
de uma estrutura personalizada para sua aplicação).
Classe – Relação com o Objeto
• A classe nos permite criar, modelar um objeto (instância).
• Usando os dados de uma classe como referência criamos os objetos.
• Ex: classe aluno: aluno 1, aluno 2, aluno 3....
• Na criação de um objeto o que muda não são os atributos (a estrutura da
classe), mas sim os valores associados aos atributos.
• Ex: cada objeto aluno tem um nome diferente, uma matricula. Com uma única
planta é possível
Classe – Molde Objeto – Instância construir várias
casas.
Membros de uma Classe

Atributos Métodos Construtores

Objetos
classe
Variáveis Constantes

Por padrão variáveis e


Objetos

Objetos
classe

classe

constantes são do objeto. O


static, pode alterar e fazer as
variáveis e const. fazerem
parte da classe.
Acessar os membros
• Através de um membro eu posso acessar um objeto.
• Ex: Print é membro do out e out é membro do System
• System. out.print

• Através da notação ponto “ . ” é possível realizar o acesso de um membro.


• O membro pode ser do objeto ou da classe.
Exemplo – Criando mais de uma classe no mesmo pacote
Exemplo – Criando mais de uma classe no mesmo pacote
Classe Scanner – entrada de dados

• Para utilizar a classe Scanner em uma aplicação Java deve-se proceder da seguinte maneira:
• Importar o pacote java.útil – import java util.Scanner
• Instanciar e criar um objeto Scanner usando o dispositivo padrão de entrada (System.in)
• Scanner ler = new Scanner (System.in )
• Utilizar os métodos da classe Scanner adequados aos tipos das variáveis envolvidas. Os exemplos de
entradas de dados serão demonstrados usando as seguintes variáveis:
• Int n;
• Double valor;
• String palavra;
• Lendo um valor inteiro:
• System.out.println (“Digite o valor desejado”);
• n = ler.nextInt();
• valor = ler.nextDouble();
Classe Scanner – entrada de dados

• A classe Scanner possui vários métodos que possibilitam a entrada de dados de diferentes tipos, entre eles
destacam-se:

• String next() - retorna uma cadeia de caracteres simples, ou seja, que não usa o caractere espaço em
branco;
• double nextDouble() - retorna um número em notação de ponto flutuante normalizada em precisão
dupla de 64 bits (usado para receber valores reais ou monetários);
• boolean hasNextDouble() - retorna true se o próximo dado de entrada pode ser interpretado como
um valor double;
• int nextInt() - retorna um número inteiro de 32 bits;
• boolean hasNextInt() - retorna true se o próximo dado de entrada pode ser interpretado como um
valor int;
• String nextLine() - retorna uma cadeia de caracteres, por exemplo: “Aula de POO”;
• long nextLong() - retorna um número inteiro de 64 bits.

Você também pode gostar