0% acharam este documento útil (0 voto)
9 visualizações40 páginas

Aula 03

O documento introduz os conceitos de programação orientada a objetos em Java, incluindo classes, objetos, encapsulamento, construtores e variáveis de referência.

Enviado por

serginho12cross
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
9 visualizações40 páginas

Aula 03

O documento introduz os conceitos de programação orientada a objetos em Java, incluindo classes, objetos, encapsulamento, construtores e variáveis de referência.

Enviado por

serginho12cross
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 40

Disciplina: Programação Orientada à Objetos em

Java
Aula 03: Introdução à POO
Professor: Wolney Henrique Queiroz Freitas
Roteiro de Aula
• Paradigmas de Programação
• Abstração
• Classes e Objetos
• Variáveis de Referência
• Encapsulamento
• O que é um Paradigma de
Programação?
Paradigma de Programação
• É a forma de classificar as linguagens de
programação baseado em suas características
e funcionalidades;

• Fornece e determina a visão que o


programador possui sobre a estruturação e
execução do programa.
Exemplos de Paradigmas de
Programação

• Programação Funcional;
• Programação Imperativa;
• Programação Estruturada;
• Programação Orientada a Objetos.
Programação Estruturada x
Programação OO
Programação Estruturada x
Programação OO
Abstração
• Na programação orientada a objetos, os
desenvolvedores modelam o sistema baseado em
conceitos do mundo real;

• Em um sistema orientado a objetos, os


desenvolvedores criam componentes de software
chamados de objetos, que interagem e trocam
mensagens entre si, e esses objetos são modelados
baseados no que vemos no mundo real.
Objeto
• O que todo objeto possui?
– Identificação
– Características
– Ações

• Cachorro
– Características: raça, idade, peso, tamanho.
– Ações: late, corre, brinca, morde chinelo.
Linguagens
• Java
• C++
• PHP
• Python
• Ruby
• C#
• Javascript
• Entre outras...
Classes e Objetos em POO
• Características são chamadas de propriedades;

• Ações são chamadas de métodos;

• Propriedades e métodos são encapsulados em


uma estrutura chamada de Classe.
Classes e Objetos em POO
• Classes definem o tipo e as especificações
(propriedades e métodos) de um objeto;

• A partir das classes são criados os objetos;

• Em POO, a ação de criar um objeto a partir de


uma classe é chamada de “instanciar uma
classe”, nesse caso, objetos são “instâncias de
classes”.
Classes e Objetos em POO
• A palavra classe vem da taxonomia da biologia.

• Todos os seres vivos de uma mesma classe


biológica têm uma série de atributos e
comportamentos em comum, mas não são
iguais, podem variar nos valores desses
atributos e como realizam esses
comportamentos.
Classes e Objetos em POO
• Homo Sapiens define um grupo de seres que
possuem características em comum, porém a
definição de um Homo Sapiens não é um ser
humano.

• Tudo está especificado na classe Homo Sapiens,


mas se quisermos mandar alguém correr, comer,
pular, precisaremos de uma instância de Homo
Sapiens, ou então de um objeto do tipo Homo
Sapiens.
Classes e Objetos em POO

Fonte: Elaborado pelo autor.


Classes e Objetos em POO
• O que toda conta possui?

– Número da conta
– Nome do titular da conta
– Saldo

• O que toda conta faz?

– Saca um valor x
– Deposita um valor x
– Imprime o nome do titular da conta
– Devolve o saldo atual
– Transfere um valor x para um outra conta y
– Devolve o tipo de conta
Classes e Objetos em POO
Classes e Objetos em POO
• Construindo uma classe Conta apenas com
seus atributos:
Classes e Objetos em POO
• Criando/Instanciando uma conta e
manipulando seu objeto:
Classes e Objetos em POO
• Dentro da classe, também declaramos as ações que cada
Conta faz. Isso é feito por meio de funções atreladas as
informações da conta, essas funções são conhecidas em POO
como métodos:
Classes e Objetos em POO
• Utilizando métodos da classe Conta:
Variáveis de Referência
• Qual valor do saldo de c1 será impresso?
Variáveis de Referência
• Quando declaramos uma variável para associar a um objeto,
na verdade, essa variável não guarda o objeto, e sim uma
maneira de acessá-lo, chamada de referência;

• É por esse motivo que precisamos dar new depois declarar a


variável, o operador new cria um objeto na memória e retorna
a referência (endereço) desse objeto para a variável:
Variáveis de Referência
• Variáveis referenciando objetos na memória:
Variáveis de Referência
• Variáveis referenciando objetos na memória:
Encapsulamento
• O classe Conta possui os
métodos deposita() e saca()
que estão implementados
para manter o saldo da conta
sempre positivo.

• Mas há um problema grave:


o atributo saldo pode ser
alterado diretamente por
quem manipula um objeto do
tipo Conta.
Encapsulamento
• Atribuindo um valor inválido ao saldo da conta:
Encapsulamento
• Para resolver isso,
podemos utilizar o
modificar de acesso
private para impedir
que o atributo saldo
seja acessado de forma
direta:
Encapsulamento
• Tentar acessar um atributo privado de um objeto de forma
direta gera um erro de compilação:
Encapsulamento
• Modificadores de acesso do Java:
– Public: Os atributos e métodos da classe podem ser acessados de
qualquer lugar e por qualquer entidade que possa visualizar a classe a
que ela pertence;

– Private: Os atributos e métodos da classe não podem ser acessados


ou usados por nenhuma outra classe;

– Protected: Os atributos e métodos da classe são acessíveis apenas às


classes do mesmo pacote ou através de herança;

– default (padrão): Os atributos e métodos da classe são acessíveis


apenas às classes do mesmo pacote.
Encapsulamento
• É muito comum que todos os atributos de uma classe sejam privados e
quase todos seus métodos sejam públicos. Desta forma, toda conversa de
um objeto com outro é feita por troca de mensagens.

• Isso é a ideia de encapsular, esconder todos os membros de uma classe,


além de esconder como funcionam as implementações (no caso métodos)
do nosso sistema.

• O conjunto de métodos públicos de uma classe é também chamado de


interface de classe.
Encapsulamento
• Programe voltado para a interface e não para a
implementação.
Encapsulamento
• Getters e Setters

– Para permitir o acesso aos atributos privados de uma


maneira controlada, a prática mais comum é criar dois
métodos, um que retorna o valor e outro que muda o
valor.

– A convenção para esses métodos é de colocar a palavra get


ou set antes do nome do atributo.
Encapsulamento
• Getters e Setters
Encapsulamento
• Getters e Setters
– É uma má prática criar uma
classe e, logo em seguida,
criar getters e setters para
todos seus atributos. Você só
deve criar um getter ou setter
se tiver a real necessidade:
Construtor
• Quando utilizamos o operador new para instanciar um objeto,
ele executa o construtor da classe. O construtor é um bloco
declarado com o mesmo nome da classe:
Construtor
• Quando você não declara nenhum construtor na sua classe, o
Java cria um para você. Esse construtor é o construtor default,
ele não recebe nenhum argumento e o corpo dele é vazio;

• A partir do momento que você declara um construtor, o


construtor default não é mais fornecido;
Construtor
• Construtores também podem receber parâmetros:
Construtor
• Uma classe também pode ter mais de um construtor, logo, os
objetos dessa classe podem ser criados de mais uma forma;

• Caso uma classe tenha um ou mais construtores, e todos eles


recebam parâmetros, só é possível criar os objetos fornecendo
os parâmetros necessários;

• Construtores não são métodos, eles apenas são invocados no


momento da construção dos objetos.
Referências:

• Caelum (FJ-11: Java e Orientação a Objetos)

• GAMMA, E, et al, Padrões de projeto: soluções reutilizáveis de


software orientado a objetos. [S.L.]: Bookman, 2000.

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy