PROGRAMAÇÃO ORIENTADA A OBJETOS: Conceitos...
Transcript of PROGRAMAÇÃO ORIENTADA A OBJETOS: Conceitos...
De onde vêm os objetos?
Classe: A==============● Atributos:_______________● Métodos:
Objeto
Instanciação
Abstração
Conceitos de orientação a objetos
● Objetos● Classes● Métodos● Atributos● Mensagens● Herança
Conceitos
● Polimorfismo
● Encapsulamento
● Associação
● Abstração
● Interface
● Pacotes
Conceitos de orientação a objetos
“Objetos são instâncias de classes que respondem a mensagens de acordo com os métodos e
atributos, descritos na classe.”
● Objetos
– Real ou Abstrato
– Os objetos possuem informações
– Desempenham ações
– Um objeto é uma instância de uma classe.
Conceitos de orientação a objetos
● Objetos
– Exemplos● Uma fatura;● Uma organização;● Um vôo de avião;● Uma pessoa;● Um lugar● Um objeto(coisa)
Conceitos de orientação a objetos
● Objetos
– Métodos● Ações que manipulam os objetos● Similares as funções da programação
estruturada.– Atributos
● Características do objetos● São manipulados pelos métodos
● Abstração do tipo de dados pessoa
Conceitos de orientação a objetos
Classe: Pessoa==============● Atributos:
● Nome● Idade● Nacionalidade● Etinia
_______________● Métodos:
● Mudar Nome():sem ● Mudar Idade():sem● Pegar Nome():Texto● Pegar Idade():inteiro
● Abstração do tipo de dados pessoa
Conceitos de orientação a objetos
Objeto: Japonesa==============● Atributos:
● Nome: Suzuki● Idade: 27● Nacionalidade: Japonesa● Etinia: Amarela
_______________● Métodos:
● Mudar Nome● Mudar Idade● Pegar Nome● Pegar Idade
● Abstração do tipo de dados pessoa ambiente acadêmico
Conceitos de orientação a objetos
Alunos Professor Coordenador
Secretária
Professor
● Abstração do tipo de dados pessoa ambiente acadêmico
Conceitos de orientação a objetos
Classe: Aluno==============● Atributos:
● Nome● Nascimento● Cpf● Matricula
_________________● Métodos:
● Pegar Matricula● Mudar Matricula
Classe: Professor==============● Atributos:
● Nome● Nascimento● Cpf● Identificador● Titulação
___________________● Métodos:
● Pegar Identificador● Mudar Identificador
Classe: Coordenador==============● Atributos:
● Nome● Nascimento● Cpf● Identificador● Titulação● Curso
___________________Métodos:
● Pegar Identificador● Mudar Identificador
Classe: Secretária==============● Atributos:
● Nome● Nascimento● Cpf● Setor
_______________● Métodos:
● Pegar Setor● Mudar Setor
Objeto: Coordenador==============
● Atributos:● Nome: Lucas● Idade: 45● Cpf: 887● Identificador: 047● Titulação: Doutor● Curso: Sistemas
___________________Métodos:
● Pegar Identificador● Mudar Identificador
● Instanciação dos tipo de dados pessoas ambiente acadêmico
Conceitos de orientação a objetos
Objeto: Aluno==============
● Atributos:● Nome: Maria● idade: 18● Cpf: 333● Matricula: 33301
_________________● Métodos:
● Pegar Matricula● Mudar Matricula Objeto: Professor
==============● Atributos:
● Nome: Pedro● Idade: 38● Cpf: 212● Identificador: 001● Titulação: Mestre
___________________● Métodos:
● Pegar Identificador● Mudar Identificador
Objeto: Secretária==============
● Atributos:● Nome: Camila● Idade: 25● Cpf: 771● Setor: Atendimento_______________
● Métodos:● Pegar Setor● Mudar Setor
● Abstração do tipo de dados pessoas consultório odontológico
Conceitos de orientação a objetos
DentistaSecretária Paciente
● Abstração do tipo de dados pessoas consultório odontológico
Conceitos de orientação a objetos
Classe: Paciente==============● Atributos:
● Nome● Idade● Cpf● Matricula● Endereço
_________________● Métodos:
● Pegar Matricula● Mudar Matricula
Classe: Dentista==============● Atributos:
● Nome● Idade● Cpf● CRO
___________________● Métodos:
● Pegar CRO● Mudar CRO
Classe: Secretária==============● Atributos:
● Nome● Idade● Cpf● Setor
_______________● Métodos:
● Pegar Setor● Mudar Setor
Objeto: Dentista==============
● Atributos:● Nome: Pedro● Idade: 33● Cpf: 058● CRO: 987
__________________● Métodos:
● Pegar CRO● Mudar CRO
● Instanciação dos tipo de dados pessoas ambiente acadêmico
Conceitos de orientação a objetos
Objeto: Paciente==============● Atributos:
● Nome: Ademar● Idade: 12● Cpf: Nulo● Matricula: 14● Endereço: rua
_________________● Métodos:
● Pegar Matricula● Mudar Matricula
Objeto: Secretária==============
● Atributos:● Nome: Camila● Idade: 25● Cpf: 771● Setor: Atendimento_______________
● Métodos:● Pegar Setor● Mudar Setor
Conceitos de orientação a objetos
● Classe
– Representa um conjunto de objetos– Define o comportamentos e estados do objeto
● Mensagem
– Chamada a um objeto que invoca um método.● Instância
– é um objeto que tem suas propriedades definidas na descrição da classe
Conceitos de orientação a objetos
● MensagemObjeto: Dentista
==============● Atributos:
● Nome: Lula● Idade: 53● Cpf: 171● CRO: 0171
__________________● Métodos:
● Pegar CRO● Mudar CRO
Objeto: Paciente==============● Atributos:
● Nome: Ademar● Idade: 12● Cpf: Nulo● Matricula: 14● Endereço: rua
_________________● Métodos:
● Pegar Matricula● Mudar Matricula
Objeto: Consultório==============
● Atributos:● Nome: OdondoBRAS● Proprietário: Dilma
_______________● Métodos:
● Agendar Consulta(x, y,z)● Consultar Agenda(A)Agendar Consulta
Consultar A
genda
Conceitos de orientação a objetos● Herança
– Mecanismo que permite uma classe herdar de outra classe seus comportamentos
Herda Herda
Pai Mãe
Filho
Conceitos de orientação a objetos● Herança
Classe: Aluno==============● Atributos:
● Nome● Nascimento● Cpf● Matricula
_________________● Métodos:
● Pegar Matricula● Mudar Matricula
Classe: Professor==============● Atributos:
● Nome● Nascimento● Cpf● Identificador● Titulação
___________________● Métodos:
● Pegar Identificador● Mudar Identificador
Classe: Coordenador==============● Atributos:
● Nome● Nascimento● Cpf● Identificador● Titulação● Curso
___________________Métodos:
● Pegar Identificador● Mudar Identificador
Classe: Secretária==============● Atributos:
● Nome● Nascimento● Cpf● Setor
_______________● Métodos:
● Pegar Setor● Mudar Setor
Conceitos de orientação a objetos● Herança
Objeto: Pessoa==============
● Atributos:● Nome: Maria● idade: 18● Cpf: 333
_________________● Métodos:
● Pegar CPF()● Mudar CPF(X)
Classe: Pessoa==============
● Atributos:● Nome● idade● Cpf
_______________● Métodos:
● Pegar CPF()● Mudar CPF(X)
Conceitos de orientação a objetos
● Herança
Classe: Aluno==============● Atributos:
● Matricula _________________● Métodos:
● Pegar Matricula● Mudar Matricula
Classe: Professor==============● Atributos:
● Identificador● Titulação
___________________● Métodos:
● Pegar Identificador● Mudar Identificador
Classe: Coordenador==============● Atributos:
● Identificador● Titulação● Curso
___________________Métodos:
● Pegar Identificador● Mudar Identificador
Classe: Secretária==============● Atributos:
● Setor_______________● Métodos:
● Pegar Setor● Mudar Setor
Classe: Pessoa==============
● Atributos:● Nome● idade● Cpf
_______________● Métodos:
● Pegar CPF()● Mudar CPF(X)
Conceitos de orientação a objetos● Herança
Objeto: Coordenador==============
● Atributos:● Nome: Lucas● Idade: 45● Cpf: 887● Identificador: 047● Titulação: Doutor● Curso: Sistemas
___________________Métodos:
● Pegar Identificador● Mudar Identificador● Pegar CPF()● Mudar CPF(X)
Objeto: Aluno==============
● Atributos:● Nome: Maria● idade: 18● Cpf: 333● Matricula: 33301
_________________● Métodos:
● Pegar Matricula● Mudar Matricula● Pegar CPF()● Mudar CPF(X)
Objeto: Professor==============
● Atributos:● Nome: Pedro● Idade: 38● Cpf: 212● Identificador: 001● Titulação: Mestre
___________________● Métodos:
● Pegar Identificador● Mudar Identificador● Pegar CPF()● Mudar CPF(X)
Objeto: Secretária==============
● Atributos:● Nome: Camila● Idade: 25● Cpf: 771● Setor: Atendimento_______________
● Métodos:● Pegar Setor● Mudar Setor● Pegar CPF()● Mudar CPF(X)
Objeto: Aluno==============
● Atributos:● Nome: Maria● idade: 18● Cpf: 333● Matricula: 33301
_________________● Métodos:
● Pegar Matricula● Mudar Matricula● Pegar CPF()● Mudar CPF(X)
Conceitos de orientação a objetos● Associação
– Permite que um objeto utilize recursos de outro objeto.
Classe: Consultório=======================
● Atributos:● Nome: OdondoBRAS● Proprietário: Dilma● Lista de Pacientes
________________________● Métodos:
● Agendar Consulta(x, y,z)● Consultar Agenda(A)
Classe: Paciente==============● Atributos:
● Nome● Idade● Cpf● Matricula● Endereço
_________________● Métodos:
● Pegar Matricula● Mudar Matricula
Conceitos de orientação a objetos
● Encapsulamento
– Separa aspectos internos e externos de um objeto.
– Impede o acesso não autorizado a propriedades do objeto.
Conceitos de orientação a objetos
● Encapsulamento
Pessoa-------------------------------
publico Nomeprivado idadeprotegido Cpf
-------------------------------privado Pegar CPF()publico Mudar CPF(X)Protegido Checar CPF(Y)
Conceitos de orientação a objetos
● Encapsulamento– Três características do encapsulamento
● Abstração – é o processo de simplificar um problema
difícil
Conceitos de orientação a objetos
● Encapsulamento– Três características do encapsulamento
● Ocultação da implementação – Tipo Abstrato de Dados
● não precisa saber como tais valores são representados internamente
Pessoa-------------------------------
protegido Nomeprotegido idadeprotegido Cpf
-------------------------------publico Pegar CPF()publico Mudar CPF()publico Checar CPF()
Array, Vetor
acessá-la por meio das operações que ela suporta
Conceitos de orientação a objetos
● Encapsulamento– Três características do encapsulamento
● Divisão da responsabilidade – Cada objeto deve executar uma função –
sua responsabilidade – e executá-la bem.
Pessoa-------------------------------
protegido Nomeprotegido idadeprotegido Cpf
-------------------------------publico Pegar CPF()publico Mudar CPF()
Aluno-------------------------------
protegido Matriculaprotegido Curso-------------------------------publico Pegar Curso()publico Mudar Matricula()publico Checar CPF()
Conceitos de orientação a objetos
● Polimorfismo
– Permite que uma estrutura possua várias formas
● Sobrecarga de Métodos e Construtores
Conceitos de orientação a objetos
● Polimorfismo
Pessoa---------------------------------------protegido Nomeprotegido idadeprotegido Cpf---------------------------------------publico Pegar CPF()publico Mudar CPF()publico Mudar CPF(X)
Carro----------------------------------------------------protegido Marcaprotegido Anoprotegido Chaveprotegido Dono----------------------------------------------------publico Ligar Carro(Chave)publico Ligar Carro(Chave, Senha)
Conceitos de orientação a objetos
● Classe Abstrata
– Usada para representar conceitos– Representa uma classe que não pode ser
instanciada– Ela pode ser herdada
Pessoa Abstrata-------------------------------
protegido Nomeprotegido idadeprotegido Cpf
-------------------------------publico Pegar CPF()
Classe Aluno-------------------------------protegido Matriculaprotegido Curso-------------------------------publico Pegar Curso()
Objeto Aluno-------------------------------protegido Matriculaprotegido Cursoprotegido Nomeprotegido idadeprotegido Cpf-------------------------------publico Pegar Curso()publico Pegar CPF()
Conceitos de orientação a objetos
● Classe Abstrata
– Método Abstrato● Obriga a classe que herdar, escrever o método como
descrito na classe pai.
Pessoa Abstrata-------------------------------
protegido Nomeprotegido idadeprotegido Cpf
-------------------------------publico Pegar CPF()publico abstrato Alterar CPF()
Classe Aluno-------------------------------protegido Matriculaprotegido Curso-------------------------------publico Pegar Curso()publico Alterar CPF()
Objeto Aluno-------------------------------
protegido Matriculaprotegido Cursoprotegido Nomeprotegido idadeprotegido Cpf-------------------------------publico Pegar Curso()publico Pegar CPF()publico Alterar CPF()
Conceitos de orientação a objetos
● Acoplamento entre classes– Nível de dependências das classes
Pessoa Abstrata-------------------------------
protegido Nomeprotegido idadeprotegido Cpf
-------------------------------publico Pegar CPF()
Classe Aluno-------------------------------protegido Matriculaprotegido Curso-------------------------------publico Pegar Curso()
Alto Acoplamento
Conceitos de orientação a objetos
● Acoplamento entre classes– Nível de dependências das classes
Classe: Consultório=======================
● Atributos:● Nome: OdondoBRAS● Proprietário: Dilma● Lista de Pacientes
________________________● Métodos:
● Agendar Consulta(x, y,z)● Consultar Agenda(A)
Classe: Paciente==============● Atributos:
● Nome● Idade● Cpf● Matricula● Endereço
_________________● Métodos:
● Pegar Matricula● Mudar Matricula
Baixo Acoplamento
Conceitos de orientação a objetos
● Interface
– Funciona como um contrato entre um objeto com o mundo externo.
Contrato(Interface)
ObjetoMundo Externo
Conceitos de orientação a objetos
● Interface
– O que fazer com a nota do aluno?Classe: Nota==============● Atributos:
● Nome● Tipo● Valor
Interface: Nota Aluno==============● Métodos:
● Visualizar
Interface: Nota Professor==============● Métodos:
● Visualizar● Inserir(Nota)
Interface: Nota Coordenador==============● Métodos:
● Visualizar● Modificar(Nota)
Conceitos de orientação a objetos● Interface
– O que fazer com a nota do aluno?
Classe: Aluno==============● Atributos:
● Matricula _________________● Métodos:
● Pegar Matricula● Mudar Matricula
Classe: Professor==============● Atributos:
● Identificador● Titulação
___________________● Métodos:
● Pegar Identificador● Mudar Identificador
Classe: Coordenador==============● Atributos:
● Identificador● Titulação● Curso
___________________Métodos:
● Pegar Identificador● Mudar Identificador
Classe: Nota=============● Atributos:
● Nome● Tipo● Valor
Interface: Nota Aluno==============● Métodos:
● Visualizar(Nota)
Interface: Nota Professor==============● Métodos:
● Visualizar(Nota)● Inserir(Nota)
Interface: Nota Coordenador==============● Métodos:
● Visualizar(Nota)● Modificar(Nota)
Conceitos de orientação a objetos
● Pacotes
– Permite a organização lógica de classes e interfaces.
Classe: Nota==============● Atributos:
● Nome● Tipo● Valor
Interface: Nota Aluno==============
● Métodos:● Visualizar
Interface: Nota Professor==============
● Métodos:● Visualizar● Inserir(Nota)
Interface: Nota Coordenador==============
● Métodos:● Visualizar● Modificar(Nota)
PACOTE NOTA
Conceitos de orientação a objetos
● Pacotes
– Permite a organização lógica de classes e interfaces.
PACOTE SISTEMA
Pacote Pessoas
Pacote Produtos
Pacote BD
Pacote Telas