Linguagens de Programa - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Linguagens de Programa

Description:

Title: Slide sem t tulo Author: usuario Last modified by: usuario Created Date: 3/30/2003 6:44:06 PM Document presentation format: Apresenta o na tela – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 21
Provided by: usuar1233
Category:

less

Transcript and Presenter's Notes

Title: Linguagens de Programa


1
  • Linguagens de Programação Orientadas a Objetos
  • Pós-Gradução(Lato-Sensu) em Sistemas de Banco de
    Dados - UFPa
  • Marco Fagundes
  • mafm_at_cin.ufpe.br
  • Aulas 10 e 11 - Programação Orientada a Objetos
  • http//www.ufpa.br/sampaio/bd2003/lpoo

? Prof. Marco Fagundes
2
Roteiro
  • Introdução
  • Classes e Objetos
  • Atributos
  • Métodos
  • Instanciando Classes
  • Mensagens
  • Construtores e Finalizadores
  • Encapsulamento

3
Introdução
  • Programação Orientada a Objetos (POO) surgiu
    desde a introdução da linguagem Simula em 1967
  • Entretanto, ela veio tornar-se um paradigma de
    programação nos meados da década de 1980
  • POO difere da programação tradicional
    (programação estruturada) devido colocar dados e
    operações que manipulam estes dados em uma
    simples estutura de dados
  • Este modelo assemelha-se ao mundo real, onde
    todos os objetos tem atributos e atividades
    associadas a eles
  • Java é uma linguagem orientada a objetos pura, o
    que significa que tudo em Java é acessado através
    de classes e objetos. Diferente de linguagens
    híbridas tais como C e Object Pascal

4
Classes e Objetos
  • Uma Classe é uma definição de tipo
  • Um Objeto é uma declaração de variável
  • Uma vez criada a Classe pode-se criar vários
    objetos desta Classe
  • O processo de criação do Objeto a partir de uma
    Classe é denominado instanciando um Objeto ou
    criando uma instância de uma Classe
  • Objetos são elementos de software compostos de
    dados e operações que atuam sobre estes dados.
  • As operações são implementadas através dos
    métodos e determinam o comportamento do objeto.
  • Objeto dado método
  • Objeto estado comportamento

5
Classes e Objetos
  • Objetos

operações/métodos/ comporamento
Um Objeto
propriedades/dados/ variáveis
6
Classes e Objetos
  • Classes
  • Uma classe de objetos descreve um grupo de
    objetos com
  • Propriedades e comportamentos semelhantes
  • Relacionamentos comuns com outros objetos

Classificação
Instanciação
Objetos/Instâncias
7
Classes e Objetos
  • Em uma Análise OO de um dado problema,
    substantivos são classes potenciais e verbos
    podem ser métodos
  • A UML é uma linguagem padrão para especificar,
    visualizar, documentar e construir artefatos de
    um sistema e pode ser utilizada ao longo de todo
    o ciclo de desenvolvimento e através de diferente
    tecnologias de implementação
  • Uma classe UML apresenta a seguinte representação
    gráfica

Implementação em Java public class Sala int
codigoSala public void consultarSalas()..
.
Implementação em Delphi type TSala class
private codigoSala integer public
procedure consultarSala
8
Classes e Objetos
  • Por exemplo em um sistema de controle acadêmico
    podemos considerar o seguinte
  • Possíveis Classes Aluno, Sala, Turma, Disciplina
    ...
  • Possíveis Métodos Incluir Aluno(classe Aluno),
    Consultar Sala(classe Sala), Criar Turma (Classe
    Turma)...

9
Classes e Objetos
  • Declarando e Instanciando Classes
  • Java considerada uma classe vazia como válida.
    Por exemplo

class Aluno
Aluno
  • Para criar uma instância da classe deve-se
    inicialmente criar uma referência através de uma
    variável do tipo definido pela classe

Aluno al
  • Em seguida, deve-se alocar recursos para a
    referência criada(no caso acima al). Esta
    alocação é feita pelo operador new

al new Aluno()
10
Classes e Objetos
  • O operador new chama o construtor, que é similar
    a um método
  • Uma vez criado o objeto, as variáveis membro (ou
    de instância) e métodos da classe podem ser
    acessados usando o operador .
  • Não se deve preocupar em destruir um objeto, isto
    é feito automaticamente pelo garbage collector

11
Atributos
  • Com dito anteriormente uma classe contém dados e
    métodos
  • Atributos são variáveis membro que retêm
    informações de estado/propriedades do objeto

class Aluno String codMatricula, nome int
anoIngresso
12
Métodos
  • Métodos implementam as operações que agem sobre
    os atributos do objeto
  • Por exemplo

class Aluno String codMatricula, nome int
anoIngresso Aluno(pMatString,
pNomeString,pAnoIngint) codMatricula
pMat nome pNome anoIngresso
pAnoIng int permanenciaInst()
return(2003 - anoIngresso)
Construtor ObsApenas para ilustração
13
Instanciando Classes
  • Como visto anteriormente dois passos são
    envolvidos na criação de uma instância da classe
  • 1º Passo Criação da referência para o objeto

Aluno aluno01
  • 2º Passo Criação da instância da classe (objeto)

aluno01 new Aluno(0001,alTeste01,1999)
Deve-se passar os argumentos, caso a definição
requeira
14
Mensagens
  • Objetos interagem e comunicam-se através de
    mensagens
  • As mensagens identificam os métodos a serem
    executados no objeto receptor

permanenciaInst()
Receptor
Emissor
vPermInst aluno01.permanenciaInst()
Esta variável deve ser declarada, sendo do mesmo
tipo do retorno do método int vPermInst
Indica o envio de mensagem para o objeto aluno01
15
Construtores e Finalizadores
  • Construtores
  • Servem como interfaces para inicializar objetos
  • Sempre têm o mesmo nome da classe
  • Similar a um método, mas não pode especificar um
    valor de retorno
  • Cuida da alocação de todos os recursos
    necessários para o objeto e retorna uma instância
    do objeto
  • Podem ou não conter parâmetros
  • Pode haver mais de um por classe (overloading -
    sobrecarga)

16
Construtores e Finalizadores
  • Finalizadores
  • Muitas linguagens OO têm métodos chamados de
    destrutores, que desalocam todos os recursos
    alocados pelo construtor
  • Java cuida de liberar todos os recursos alocados
    para um objeto que não é mais referenciado
    através do garbage collector (GC)
  • Existem algumas situações de limpeza que o GC não
    efetua. Por exemplo, arquivos abertos ou conexão
    com Banco de Dados
  • Neste caso pode-se definir um método chamado de
    finalizer. Este método é chamado imediatamente
    pelo GC antes do objeto ser destruído

17
Encapsulamento
  • Conforme citado anteriormente (no exemplo do DVD
    Player), o encapsulamento objetiva esconder
    detalhes de implementação

Métodos Privados
Métodos Públicos
Atributos Públicos
Atributos Privados
18
Encapsulamento
  • Controle de Acesso em geral, é conveniente
    proibir o acesso a alguns atributos ou métodos de
    uma classe. Java fornece os seguintes
    modificadores de acesso
  • public - permite acesso a partir de qualquer
    classe
  • private - permite acesso apenas na própria classe
  • protected e acesso de pacote (a serem estudado no
    módulo avançado)

19
Encapsulamento
  • Consequências de tornar um atributo privado
  • O componente privado quando acessado de fora da
    classe ocasiona um erro de compilação
  • Para tornar um atributo privado acessível,
    deve-se definir um método público na própria
    classe, que retorne o valor do atributo

20
Encapsulamento
  • Classe Aluno com atributos privados

class Aluno private String codMatricula
private String nome private int anoIngresso
Aluno(pMatString,pNomeString,pAnoIngint)
codMatricula pMat nome pNome
anoIngresso pAnoIng int permanenciaInst()
return(2003 - anoIngresso) public String
codMatricula()return codMatricula public
String nome()return nome public int
anoIngresso()return anoIngresso
Write a Comment
User Comments (0)
About PowerShow.com