orientação a objetos parte i introdução a poo (programação orientada a objetos)
TRANSCRIPT
![Page 1: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/1.jpg)
Orientação a ObjetosParte I
Introdução a POO (Programação Orientada a Objetos)
![Page 2: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/2.jpg)
Histórico – Gerações de Linguagens de Programação
Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
(assembly) Terceira Geração: Linguagens de alto nível Quarta Geração: Linguagens para a geração de
aplicações Geração Orientada a Objetos: Linguagens
voltadas para o reuso e manutenção
![Page 3: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/3.jpg)
Histórico de LinguagensPrimeira Geração – Ling. Máquina Equipamentos muito caros Dificuldades na programação de dispositivos Baixa demanda para desenvolvimento de
aplicações
![Page 4: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/4.jpg)
Histórico de LinguagensSegunda Geração - Assembly Custo do equipamento ainda alto Permitia transferir um pouco do trabalho para o
programador Programação por meio de símbolos que eram
traduzidos em linguagem de máquina
![Page 5: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/5.jpg)
Histórico de LinguagensTerceira Geração – Alto Nível Equipamento relativamente mais barato Mais tarefas antes atribuídas ao programador,
foram transferidas para programas como : Interpretadores e Compiladores
![Page 6: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/6.jpg)
Histórico de LinguagensQuarta Geração – Aplicações As ferramentas de desenvolvimento e as
bibliotecas de aplicação se popularizaram nesse período
O usuário passou então a desfrutar de capacidades que antes eram reservadas aos desenvolvedores
![Page 7: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/7.jpg)
Histórico de LinguagensQuinta Geração – POO Enfrenta hoje o desafio de efetuar a manutenção e o
reuso das milhares de aplicações desenvolvidas pelas gerações anteriores
A orientação a objetos é um paradigma de programação que oferece vários mecanismos voltados para o reuso e a manutenção de sistemas de computador. O que torna a programação orientada a objetos tão atraente é, principalmente, a possibilidade de gerenciar de forma mais simples problemas bastante complexos e de reusar código de forma mais eficiente
![Page 8: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/8.jpg)
Os três pilares da OO Encapsulamento Herança Polimorfismo
![Page 9: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/9.jpg)
Pilar - Encapsulamento O conceito de encapsulamento está
intimamente ligado com o conceito de abstração. Num dado objeto somente interessa ao cliente as funções que ele executa e não a implementação da mesma. Na parte de interface temos a descrição das operações que o objeto executa, o que é acessível ao cliente, a implementação de tais operações fica encapsulada e só é visível ao próprio objeto
![Page 10: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/10.jpg)
Pilar - Herança A herança possibilita uma classe aproveitar o
comportamento de outra classe, além de adaptar esse comportamento aproveitado, tornando-o único.
Principal característica que possibilita a OO a implementar fácil reuso de aplicações existentes
![Page 11: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/11.jpg)
Pilar - Polimorfismo Poli (múltiplas ) Morfismo (formas)
O sentido da palavra polimorfismo é o uso de um único nome para definir várias formas distintas. Em linguagens de programação, polimorfismo é uma facilidade que permite que dois ou mais objetos diferentes respondam a mesma mensagem.
A capacidade de objetos executarem uma mesma tarefa de maneiras diferentes
Exemplo : A capacidade de desligar algo : lâmpada, carro, celular, computador, rádio, etc ...
![Page 12: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/12.jpg)
Classes Uma classe define um MODELO que descreve
uma entidade real ou abstrata As classes são fábricas de objetos
Exemplo : A planta de uma casa
![Page 13: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/13.jpg)
Classes – Atributos e Métodos Uma Classe define o ESTADO e o
COMPORTAMENTO de uma entidade (objeto). Chamamos de ATRIBUTOS às partes
responsáveis por definir o ESTADO de um objeto
Chamamos de MÉTODOS às partes responsáveis por definir o COMPORTAMENTO de um objeto
![Page 14: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/14.jpg)
Classes - Atributos Os atributos são variáveis responsáveis por
armazenar informações associadas a uma determinada classe
Exemplo : Para uma classe Pessoa :- cor do cabelo- cor dos olhos- altura- peso
![Page 15: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/15.jpg)
Classes - Métodos São procedimentos definidos para uma classe,
responsáveis por realizar tarefas pertinentes a mesma, alterando assim os ATRIBUTOS ou o ESTADO de um objeto.
Exemplo : Classe Pessoa :- Acordar- Andar- Estudar- Cantar
![Page 16: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/16.jpg)
Acessibilidade de uma Classe Define a forma com que um elemento (atributo
ou método) pode ser visto e utilizado por outras classes.
Os qualificadores em java : public, private, protected e static, são responsáveis por definir a visibilidade de atributos e métodos
![Page 17: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/17.jpg)
Acessibilidade - public Define que um atributo ou método é de acesso
“público”. Qualquer classe pode acessar
![Page 18: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/18.jpg)
Acessibilidade - protected Define que um atributo ou método é de acesso
“protegido”. Apenas classes “filhas” (que possuem herança) podem acessar
![Page 19: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/19.jpg)
Acessibilidade - private Define que um atributo ou método é de acesso
“privado”. Apenas a própria classe possui acesso
![Page 20: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/20.jpg)
Acessibilidade - static Define que um atributo ou método é de acesso
“estático”. Atributos ou Métodos estáticos pertencem
apenas à Classes, e não a Objetos (instâncias de classes)
static pode ser combinado com public, protected e private
![Page 21: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/21.jpg)
Classes X Objetos Classe é um modelo de Objeto Objeto é a realização de uma Classe Um objeto é uma instância de uma classe Podemos obter 1 um mais objetos de uma classe
Exemplo : Classe Pessoa : Objetos :- João- Maria- José- Rute
![Page 22: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/22.jpg)
Exemplo – Classes e ObjetosPessoa pes1 = new Pessoa(“Joao”)Pessoa pes2 = new Pessoa(“Maria”)System.out.println( pes1.nome )System.out.println( pes2.nome )
// cria dois objetos da classe Pessoa// imprime o nome da primeira pessoa// imprime o nome da segunda pessoa
![Page 23: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/23.jpg)
Métodos Construtores São métodos especiais chamados pelo sistema
no momento da criação de um objeto Um objeto possui pelo menos um construtor Um objeto pode possuir mas do que um
construtor, com assinaturas diferentes Um construtor tem sempre o mesmo nome de
sua Classe
![Page 24: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/24.jpg)
Métodos Acessores e Mutantes Métodos Acessores e Mutantes são conceitos
de OO usados para definir métodos responsáveis por ler e alterar atributos de uma classe.
São utilizados na criação da Interface de uma classe com o ambiente externo
Acessores (Ler Atributos) Mutantes (Alterar Atributos) Em java getXXX e setXXX
![Page 25: Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos)](https://reader036.vdocuments.net/reader036/viewer/2022062303/552fc15e497959413d8e5d8a/html5/thumbnails/25.jpg)
Orientação a ObjetosParte II ...
...