• Nenhum resultado encontrado

Orientação a Objetos. Fábio Moura. Governo de Pernambuco

N/A
N/A
Protected

Academic year: 2021

Share "Orientação a Objetos. Fábio Moura. Governo de Pernambuco"

Copied!
26
0
0

Texto

(1)

Governo de Pernambuco Governo de Pernambuco

Orientação a Objetos

Fábio Moura

(2)

Agenda

 Orientação a Objetos;  Abstração;

 Objetos, Atributos e Métodos;  Classes;

 Encapsulamento;  Polimorfismo;

(3)

Orientação a Objetos

 A abordagem OO (orientada a objetos) enfatiza

duas características:

 Reutilização de código e  Modularidade.

(4)

Orientação a Objetos

 As metodologias tradicionais utilizam o conceito

de um processador, uma memória e dispositivos de I/O para processar, armazenar e exibir as

informações.

 A orientação a objetos emprega um conceito

(5)

Orientação a Objetos

 Conceitos importantes para a compreensão do

paradigma OO:

 Abstração;

 Objetos, Atributos e Métodos;  Classes;

 Encapsulamento;  Polimorfismo;

(6)

Abstração

 Abstração é considerada a habilidade de modelar

características do mundo real do problema que o programador esteja tentando resolver.

 Este processo mental indica que se deve ignorar

detalhes não relevantes e focar nas

características essenciais dos elementos modelados.

(7)

Abstração

Por exemplo:

 Ao modelarmos um objeto avião no contexto de

um sistema de venda de passagens aéreas, não vai nos interessar a característica do número de turbinas do avião, mas sim, seu número de

(8)

Orientação a Objetos

 Conceitos importantes para a compreensão do

paradigma OO:

Abstração;

 Objetos, Atributos e Métodos;  Classes e Instâncias;

 Encapsulamento;  Polimorfismo;

(9)

Objetos, Atributos e Métodos

OBJETOS representam entidades do mundo

real, quer sejam estas concretas ou abstratas, sobre as quais são armazenados dados e temos operações para manipulá-los.

parar() parar() pausar() pausar() avancar() avancar() voltar() voltar() alterarHora() alterarHora() tocar() tocar() carregarDisco() carregarDisco()

(10)

Objetos, Atributos e Métodos

 Objetos também se caracterizam por ter uma

identidade única, um estado e um comportamento.

(11)

Objetos, Atributos e Métodos

 Identidade

– Todo objeto é único e pode ser distinguido de outros

objetos

 Estado

– Todo objeto tem estado, que é determinado pelos

dados contidos no objeto

 Comportamento

– O comportamento de um objeto é definido pelos

(12)

Objetos, Atributos e Métodos

 Cada objeto possui um conjunto de

características ou informações que os

caracteriza, chamadas então de ATRIBUTOS.

Bola Peso Cor ... Bola Peso Cor ...

(13)

Objetos, Atributos e Métodos

 O comportamento de um objeto é definido

através de seus MÉTODOS. Métodos definem as habilidades dos objetos.

 Em outras palavras, as ações que um objeto

pode realizar. F1 Marca Modelo Cor Correr Parar F1 Marca Modelo Cor Correr Parar

(14)

Orientação a Objetos

 Conceitos importantes para a compreensão do

paradigma OO:

Abstração;

Objetos, Atributos e Métodos;

 Classes e Instâncias;  Encapsulamento;

 Polimorfismo;  Herança.

(15)

Classe e Instância

Classe significa agrupar objetos com base em

estruturas e comportamentos semelhantes;

Instância significa gerar novos Objetos a partir

(16)

Orientação a Objetos

 Conceitos importantes para a compreensão do

paradigma OO:

Abstração;

Objetos, Atributos e Métodos;

Classes e Instâncias;

 Encapsulamento;  Polimorfismo;

(17)

Encapsulamento

 Encapsular dados em OO consiste em separar os

aspectos externos de um objeto, os quais são

acessíveis a outros objetos, dos detalhes internos de implementação, os quais permanecem

(18)

Encapsulamento

 Para isso, o acesso a componentes de um objeto

é controlado e, especialmente, os atributos de um objeto só devem ser modificados pelos métodos do próprio objeto.

(19)

Orientação a Objetos

 Conceitos importantes para a compreensão do

paradigma OO:

Abstração;

Objetos, Atributos e Métodos;

Classes e Instâncias;

Encapsulamento;

 Polimorfismo;  Herança.

(20)

Polimorfismo

 Na orientação a objetos, isso significa que um

mesmo tipo de objeto, sob certas condições, pode realizar ações diferentes ao receber uma mesma mensagem.

(21)

Orientação a Objetos

 Conceitos importantes para a compreensão do

paradigma OO:

Abstração;

Objetos, Atributos e Métodos;

Classes e Instâncias;

Encapsulamento;

Polimorfismo;

(22)

Herança

 O reuso de objetos através da criação de classes

a partir de outras classes.

 A classe sendo refinada é chamada de

superclasse, enquanto que a versão refinada da classe é chamada uma subclasse.

(23)

Herança

PESSOA

PESSOA FÍSICA PESSOA JURÍDICA nome endereco telefone nome endereco telefone cpf nome endereco telefone cnpj

(24)

Herança

PESSOA

PESSOA FISICA PESSOA JURIDICA nome endereco telefone cpf cnpj SUPER CLASSE SUB CLASSE

(25)

Orientação a Objetos

 Conceitos importantes para a compreensão do

paradigma OO:

Abstração;

Objetos, Atributos e Métodos;

Classes e Instâncias;

Encapsulamento;

Polimorfismo;

(26)

Exercício

1. No contexto da programação orientada a objetos, o que é um objeto?

2. No contexto da programação orientada a objetos, o que é uma classe?

3. Indique qual é o principal benefício obtido quando os atributos de uma classe não são visíveis a outras

classes? Qual é o nome desta técnica de programação? 4. Para você, qual o benefício do polimorfismo no

paradigma orientado a objetos?

5. Utilizando orientação a objetos, indique quais seriam as classes, seus atributos e métodos para o sistema de uma Universidade.

Referências

Documentos relacionados

● E todos os seus dados são separados por , ● Em cada linha contém um registro. Nome,custo,preço, Macarrão,1.23,3.45, Arroz,4.78,9.00,

Enquanto as moças com harpas prateadas tocavam a música mais doce, a princesa, cuja voz era ainda mais doce do que qualquer música, chamava o príncipe pelo nome, e seu

• Casos de uso representam funcionalidades completas para o usuário e não, funcionalidades internas do sistema. • Outro ponto importante é que o diagrama de casos de uso é

n Se os atributos estão private e todo acesso agora será feito por get/set, sempre que precisar de pegar os valores dos atributos, mesmo dentro de métodos públicos da classe faça

• Todo objeto possui uma identidade; quando criamos um objeto com new, a identidade dele é diferente de todos os outros objetos, mesmo objetos da mesma classe, com o conteúdo

• Ou podemos criar uma classe só para representar essa função, mas aí temos que criar um arquivo .java para ela, e dar um nome para essa classe... • Ou podemos criar uma

● Em Ruby, duas classes diferentes não precisam compartilhar tipos para obtermos polimorfismo sobre seus métodos. ● Duck Typing é uma forma de determinar a semântica válida de

• Tipagem dinâmica permite duck typing (tipagem pato) estilo de programação que evita verificar os tipos dos objetos, mas apenas seus métodos. • No exemplo anterior, a