Você está na página 1de 45

Programação

Orientada a Objetos (POO)

Fundamentos

Jackanderson Charles Leal de Menezes


jackprofessor2@gmail.com
Aula 01 – Introdução.

Professor: Jackanderson C. L. de Menezes


RESUMO DE CONCEITOS:

Introdução

A Programação Orientada a Objetos (POO) diz


respeito a um padrão de desenvolvimento de software,
que pode ser implementado por diversas linguagens de
programação.

Este padrão é uma opção à Programação Estruturada,


que foi o primeiro padrão de programação que surgiu.

3
RESUMO DE CONCEITOS:

Introdução
Comparando...

4
Programação Orientada a Objetos:

POO

• Foco nos dados (objetos) do sistema, não nas


funções.

• Estruturação do programa é baseada nos dados, não


nas funções.

• As funções mudam mais do que os dados.

5
Programação Orientada a Objetos:

Principais Vantagens

• A representação de cada elemento em termos de um


objeto, ou classe. Esse tipo de representação procura
aproximar o sistema que está sendo criado ao que é
observado no mundo real.

• A reutilização de código, pois as classes, em sua


maioria, existem sozinhas.

• Organização do código facilita a manutenção.

6
Programação Orientada a Objetos:

Principais Desvantagens

• Execução mais lenta. É preciso de mais classes do


que funções. Essa desvantagem não é sentida com as
altas velocidades que temos hoje.

• Programas extremamente simples, tornam-se


grandes.

7
Programação Orientada a Objetos:

Introdução

• No mundo real, pensamos em conceitos e em


entidades concretas e abstratas

• Tudo é objeto:
Ex.: carro, computador, música, camisa, cliente, conta bancária, etc

8
Programação Orientada a Objetos:

POO
• A POO é o paradigma de programação dominante
atualmente.

• Fornece um mapeamento direto entre o mundo real e


as unidades utilizadas no projeto.

• São criadas diversas unidades de software, chamadas


de objetos, que interagem entre si.

• Separa claramente a noção de o que é feito de como é


feito
9
Programação Orientada a Objetos:

Comparativo POO

10
Programação Orientada a Objetos:

POO – Elementos Básicos

• Objetos

• Classes

• Instâncias

Vamos aprender o que são e como cria-los!!!

11
Programação Orientada a Objetos:

Objetos

• Entidades concretas ou abstratas.

• Tem características (atributos) e podem executar


ações (métodos)

• Um objeto representa um item identificável, uma


unidade ou entidade, individual, seja real ou abstrato,
com uma regra bem definida

12
Programação Orientada a Objetos:

Objetos

OBJETO = DADOS + OPERAÇÕES

• Possuem:
– Estado
– Comportamento
– Identidade OBJETO

13
Programação Orientada a Objetos:

Objetos - Estado

• São os valores dos atributos (propriedades)

• Exemplo:

Lâmpada

14
Programação Orientada a Objetos:

Objetos - Comportamento

• São as funções que podem ser executadas por um


determinado objeto
• Corresponde aos métodos.
• O que você pode fazer com esse objeto?

• Exemplo:
Lâmpada

15
Programação Orientada a Objetos:

Objetos - Identidade

• Um objeto é único, mesmo que o seu estado seja


idêntico ao de outro
• Exemplo: Lâmpada

16
Programação Orientada a Objetos:

Classes

• Padrão (molde) a partir do qual os objetos são criados.

• Modelam os objetos definindo:


– Tipo de dados que o objeto armazena: Atributos;
– Tipos de operações que podem ser executadas pelo objeto:
Métodos;

É a essência do objeto

17
Programação Orientada a Objetos:

Classes

• Objetos são instâncias de classes

• Lembrando: Todo código Java está dentro de uma Classe.

• A biblioteca Java padrão fornece milhares de classes


prontas para vários propósitos.
18
Programação Orientada a Objetos:

Classes em Java
• Declaração de uma classe em Java.

Exemplos:
class Lampada {
public class Lampada {
// Atributos
// Atributos
// Métodos
// Métodos
}
}
19
Programação Orientada a Objetos:

Classes em Java
Modificadores de acesso:

• public: dá acesso a uso por outras classes.

• private: somente elementos internos da classes


podem utilizar.

• protected: somente a classe e as classes que herdam


dela podem ter acesso ao elemento.

20
Programação Orientada a Objetos:

Atributos em Java
Um atributo é uma variável da classe, declarada da seguinte
maneira:

Quatro exemplos:
int x;
float y = 2.5;
private boolean z, y;
String w;

21
Programação Orientada a Objetos:

Atributos em Java
• Os atributos fazem parte de cada objeto (instância)

• Declarada antes dos métodos.

• "Vivem" enquanto o objeto "viver”, ou seja, seus valores


estão guardados apenas enquanto o objeto estiver
instanciado.

22
Programação Orientada a Objetos:

Atributos em Java

• Uma classe em Java, vira um tipo. Por exemplo:

23
Programação Orientada a Objetos:

Atributos em Java

• Todo objeto possui um identificador chamado this, que é


uma referência para o próprio objeto, ou seja, ele é
utilizado para acesso a membros do próprio objeto

Sintaxe: this.membro;

24
Programação Orientada a Objetos:

Atributos em Java

Sintaxe: this.membro;

• Evita conflito Com parâmetros de métodos, por exemplo:

class NomeClasse {
int x, y;
public void mover( int x, int y ){
this.x = x;
this.y = y;
}
}
25
Programação Orientada a Objetos:

Métodos em Java

• Definem as ações que um objeto pode executar

• Sua definição corresponde a duas partes:


– Assinatura;
– Corpo;

26
Programação Orientada a Objetos:

Métodos em Java

[modificadores] <tipo_retorno> <nome_método> ([<parametros>])

public void acenderLampada ( )

27
Programação Orientada a Objetos:

Métodos em Java - Assinatura

Passagem de parâmetros:

• Deve ser informados o tipo e identificador dos


parâmetros;

• Funciona no método como uma variável normal;

• Passamos valor do identificador;

28
Programação Orientada a Objetos:

Métodos em Java - Assinatura

Passagem de parâmetros:

void sacar ( double valorSacado ) {


valor = valor - valorSacado;
}

void depositar ( double valorDepositado ) {


valor += valorDepositado;
}
29
Programação Orientada a Objetos:

Corpo do Método

Corpo do método:
• Implementa as operações do método;

• Fica entre chaves { }

• Variáveis podem ser criadas


✔ Ela é dita local
✔ Não é pré-inicializada
✔ Só existe enquanto o método está em execução

30
Programação Orientada a Objetos:

Métodos em Java

Exemplos:

public void acenderLampada ( ) {


estadoLampada = true;
}

public int somar ( int a, int b ) {


int resultado = a + b;
return resultado;
}
31
Programação Orientada a Objetos:

Acessando um Método

• Para acessar um método que não está na classe,


utiliza-se o operador “.” (ponto)

• Executa método em um objeto, ou seja, o objeto deve


existir
– A variável deve referenciar objeto instanciado (se null, ocorre erro)

32
Programação Orientada a Objetos:

Acessando um Método
• Sintaxe:
objeto.método( );

Exemplos:
obj1.nomeMetodo( );
obj1.nomeMetodo( arg1, arg2 );
( new NomeClasse( ) ).nomeMetodo( );
obj1.nomeAtributo;
33
Programação Orientada a Objetos:
Métodos em Java

34
Programação Orientada a Objetos:
Acessando um Método

35
Programação Orientada a Objetos:

Métodos em Java
• Dois métodos podem ter o mesmo nome se tiverem
quantidade diferente de parâmetros.

36
Programação Orientada a Objetos:
Classe completa em Java

37
Atividade de aprendizagem

Exercício para fixação

38
Programação Orientada a Objetos:

Atividade pra fazer AGORA!


• Escreva a classe Lâmpada;

• Inclua nela, um método chamado interruptor, que


inverta seu status, ou seja, apague se estiver acesa
ou acenda se estiver apagada.

39
Programação Orientada a Objetos:
Atividade pra fazer AGORA!
Inclua nela, um método interruptor, que
inverta seu status, ou seja, apague se
estiver acesa ou acenda se estiver
apagada.

40
Dúvidas ?

41
Programação Orientada a Objetos:

Resposta da atividade

42
Bibliografia
■ Ascencio, Ana Fernanda Gomes. Araujo, Graziela S. Estrutura de
Dados: Algoritmos, Análise da Complexidade e implementações em
Java e C/C++. 1. São Paulo: Pearson. Prentice Hall, 2010.
■ BALIEIRO, Ricardo. Estrutura de dados. 1. Rio de Janeiro::
Universidade Estácio de Sá, 2015.
■ EDELWEISS, N, GALANTE, R. M. Estrutura de Dados, Volume 18 -
Série Livros
■ Didáticos Informática UFRGS. 1.ed.. Rio Grande do Sul: Bookman,,
2009.
■ KOFFMAN, Elliot B., WOLFGANG, Paul A.T. Objetos, Abstração,
Estrutura de dados e Projeto usando C++. 1. Rio de Janeiro:: LTC,
2008..

43
Material e discussão fora da sala

http://portal.estacio.br/painel/nova-parceria-amplia-a-oferta-de-bibli
ografia-para-alunos-e-professores/

https://bv4.digitalpages.com.br

Prof. Jackanderson Charles


jackprofessor2@gmail.com

44
Jackanderson Charles – jackprofessor2@gmail.com

45

Você também pode gostar