![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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/4.jpg)
![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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070721/5ee17d36ad6a402d666c5a96/html5/thumbnails/20.jpg)
Atribuição-Uso Não-Comercial 2.5 Brasil