introdução à orientação a objetos · orientação a objeto provê: o paradigma de troca de...

20
Introdução à Orientação a Objetos

Upload: others

Post on 03-Jun-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Introdução à Orientação a Objetos

Page 2: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Paradigmas de programação

Objetos

Classes

Page 3: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Paradigma não é só uma palavra bonita!

Lógico - tudo é assertiva lógica: Prolog, Mercury;

Funcional – tudo são listas e funções: Erlang, LISP;

Imperativo (Estruturado) – tudo é comando: Lua, C, Pascal;

Orientado a Objetos – tudo é objeto: Smalltalk, C++, Java.

O paradigma de programação orientada a objetos é uma evolução da programação imperativa (estruturada).

Page 4: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos
Page 5: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Programas orientado a objetos consistem de entidades, denominadas (claro!) objetos;

Essas entidades correspondem aos conceitos que o programa irá manipular;

Objetos tem sua estrutura e suas propriedades definidas em uma classe:◦ Uma classe Empregado é uma fôrma (única) usada para

criar (um ou mais) objetos Empregado;

Objetos se comunicam com outros:◦ Um objeto Empresa deve perguntar a um objeto

Empregado: “Qual seu nome?”.

Page 6: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Orientação a objeto provê:

O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos.

Page 7: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Orientação a objeto provê:

Encapsulamento provê uma forma de tornar os dados e “funções próprias”, ocultos e inacessíveis.

Page 8: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Orientação a objeto provê:

Herança permite que novas estruturas possam ser definidas a partir de outras já existentes, re-utilizando o código dos “pais”.

Page 9: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Orientação a objeto provê:

O polimorfismo indica às estruturas a que tipos elas pertencem e que formas elas podem assumir, durante a execução do sistema.

Page 10: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Orientação a objeto provê:

Todos os objetos mantém a coesão com um conjunto completo de operações e atributos que são relevantes para trabalhar com os mesmos, e o descrevem claramente.

Page 11: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Um objeto é um agrupamento de informações que modela conceitos de alto-nível no domínio do problema do programa.

Todo objeto possui um tipo;

Um objeto pode ser composto de outros;

Objetos enviam mensagens uns aos outros;

Objetos de um determinado tipo podem receber as mesmas mensagens;

Um objeto é algo que tem: estado, comportamentoe identidade.

Page 12: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

O estado de um objeto representa uma das possíveis condições em que um objeto pode existir;

O estado é representado pelo conjuntos dos valores dos atributos de um objeto em umdeterminado momento de tempo;

O estado do objeto usualmente muda ao longo do tempo.

Exemplo – Controle Acadêmico (Aluno)◦ Nome: Godofredo Lisboa◦ Matrícula: 100510◦ Semestre de Ingresso: 2002.1

Page 13: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

O comportamento determina como um objeto age e reage: as modificações de estado e as interações com outros objetos;

O comportamento é determinado pelo conjunto de operações que o objeto pode realizar;

As operações manipulam atributos e/ou realizam uma ou mais ações.

Exemplo - Controle Acadêmico (Aluno)◦ Matricular aluno (Godofredo Lisboa)

◦ Solicitar numero de matrícula: Retorna: 100510

Page 14: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Cada objeto tem uma única identidade, mesmo que seu estado seja idêntico ao de outro objeto em determinado momento de tempo;

Ou seja, cada objeto é único e distinguível dos demais;

A identidade do objeto é gerada a partir da sua instanciação e criação de referências.

Page 15: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

A relação entre “coisas reais” no domínio do problema é, geralmente, reproduzida no programa orientado a objetos.

Page 16: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Quando estamos modelando o domínio de um programa, observa-se a existência de entidades e conceitos (similares ou não) que compõem àquele domínio;

Em OO, essa modelagem é feita através da abstração dos atributos (variáveis) e operações(métodos) dessas entidades e conceitos, através da implementação de CLASSES.

Uma classe deve modelar uma e apenas uma entidade ou conceito-chave.

Page 17: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Uma classe é a descrição de um grupo de objetos com propriedades similares (atributos), comportamento comuns (operações), relacionamentos comuns com outros objetos (associações, agregações, composições), e semântica comum;

Uma classe é um molde, uma planta, para a criação de vários objetos similares (de mesmo tipo);

O objeto criado a partir de uma classe, é uma instância.

Page 18: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Objetos criados a partir da mesma classe terão a mesma estrutura e funcionalidade básicas;◦ Todos os carros criados a partir de uma classe Carro,

aparentarão e funcionarão basicamente da mesma maneira…

◦ Da mesma forma que uma planta serve de guia para produção de carros específicos numa linha de montagem.

Quantas instâncias forem necessárias podem ser criadas a partir de uma classe única.◦ Uma classe Carro pode gerar quantos tipos de carros sejam

necessários na aplicação…◦ Da mesma forma que uma linha de montagem fabrica, a

partir de uma planta única, quantos carros estejam definidos para produção.

Page 19: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Um molde (classe) e suas instâncias (objetos).

Page 20: Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos

Atribuição-Uso Não-Comercial 2.5 Brasil