m todos de programa o ii mestrado integrado em engenharia de comunica es 1 ano 2 semestre n.
Download
Skip this Video
Download Presentation
Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre

Loading in 2 Seconds...

play fullscreen
1 / 15

Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre - PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on

Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre. Paulo J. Azevedo pja@di.uminho.pt Departamento de Informática Universidade do Minho. Objectivos. Introduzir o novo paradigma (disciplina) de programação orientado aos objectos.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre' - lamond


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
m todos de programa o ii mestrado integrado em engenharia de comunica es 1 ano 2 semestre

Métodos de Programação II(Mestrado Integrado em Engenharia de Comunicações)1º Ano, 2º Semestre

Paulo J. Azevedo

pja@di.uminho.pt

Departamento de Informática

Universidade do Minho

Métodos Programação II

objectivos
Objectivos
  • Introduzir o novo paradigma (disciplina) de programação orientado aos objectos.
  • Programação pela definição de unidades computacionais representativas de entidades do mundo real (do problema a resolver).
  • Programação desenvolve-se em torno dos dados em vez de se concentrar apenas nos procedimentos.
  • Programar = definir objectos.
  • Computação = interacção entre objectos.
  • Programa = conjunto de classes, são os templates dos nossos objectos.
  • Programação orientada aos objectos em JAVA5 (jdk1.5)

Métodos Programação II

avalia o e bibliografia
Avaliação e Bibliografia
  • Dois testes teóricos (ou exame)
  • Um projecto prático (em grupo)
  • Nota Final = 0.6 x componente_teórica + 0.4 x componente_prática
  • Créditos mínimos em ambas as componentes = 10 valores!
  • JAVA5 e Programação por Objectos

F. Mário Martins, Editora FCA, Série Tecnologias de Informação

  • Programação Orientada aos Objectos em JAVA5

F. Mário Martins, Notas Pedagógicas, revisão de 2007

  • Notas Teóricas MPII

Paulo Azevedo (estes acetatos apresentados nas aulas)

  • Notas colocadas na página da disciplina

Métodos Programação II

porqu programa o orientada aos objectos
Porquê programação orientada aos objectos ?
  • Modularidade
  • Reutilização
  • Abstracção (Tipos abstractos de Dados)

Métodos Programação II

m dulos
Módulos
  • Módulo como abstracção procedimental
  • Programação continua orientada aos procedimentos
  • O que fazer sobre a utilização dos dados?

Métodos Programação II

interdepend ncia entre m dulos
Interdependência entre módulos
  • Continua descurada a questão da privacidade dos dados!
  • É necessário garantir a independência do módulo em relação ao
  • contexto.
  • Isto é, preservar a autonomia do módulo.
  • Necessidade da abstracção dos dados.

Métodos Programação II

abstrac o e data hiding
Abstracção e Data Hiding
  • Módulo:
    • define uma estrutura de dados interna.
    • com procedimentos que constituem o único código com acesso às suas variáveis internas.
    • Estes procedimentos não acedem a outras variáveis que não façam parte do módulo.
    • Data Hiding: estrutura de dados local.
    • Procedimentos: serviços disponibilizados.
    • Temos, finalmente, abstracção de dados

em vez de abstracção de controlo

Métodos Programação II

encapsulamento
Encapsulamento
  • Módulos são “cápsulas” de software
  • Escondem (do exterior) detalhes dos dados e de implementação.
  • Verdadeiramente reutilizáveis

e autónomas.

  • São abstracções de dados
  • Cada módulo tem uma interface:

i.e. conjunto de métodos invocáveis

do exterior, e uma implementação.

Métodos Programação II

objecto
Objecto
  • Unidade computacional básica na concepção de software.
  • Concentra as propriedades anteriormente apresentadas, nomeadamente:
    • Independência de contexto (permite reutilização)
    • Abstracção de dados (garante abstracção)
    • Encapsulamento (garante protecção)
    • Modularidade (permite composição das partes)
  • É a representação abstracta de uma entidade autónoma:
    • Identidade única
    • Conjunto de atributos que definem o estado do objecto
    • Conjunto de operações (de uso interno e externo) que definem o comportamento do objecto

Métodos Programação II

encapsulamento1
Encapsulamento
  • Objecto como entidade estanque contendo uma estrutura de dados interna e privada.
  • Exemplo de um objecto representativo de um número Complexo, apresentando-se a sua estrutura e comportamento.

Métodos Programação II

mensagens
Mensagens
  • Em POO computação é obtida por interacção entre objectos através de mensagens.
  • Interacção entre objectos através de mensagens resulta a computação e respectivas transições dos estados.
  • O objecto A envia uma mensagem a B durante a execução do seu método a1(). O objecto B executa o método b1(). A espera que B envie o resultado de b1() e só após a recepção deste resultado finaliza a execução do seu próprio método a1().

Métodos Programação II

tipos de mensagens
Tipos de Mensagens
  • Alteração de estado sem retorno:
    • receptor.mensagem();
    • receptor.mensagem(a1,a2,…,na);
  • Mensagens como interrogações:
    • Resultado = receptor.mensagem();
    • Resultado=receptor.mensagem(a1,a2,…,na);

Métodos Programação II

exemplo
Exemplo
  • stack1 = new Stack();
  • int tam = stack1.size();
  • Elem = stack1.top();
  • stack1.push(12);

A independência das mensagens em relação aos métodos permite um grau de abstracção interessante.

Podemos ter um conjunto diferente de objectos a reconhecer a mesma mensagem mas a executar o seu próprio método (implementação)

Métodos Programação II

inst ncias classes
Instâncias & Classes
  • Para garantir que todos os objectos do mesmo tipo tenham a mesma estrutura e o mesmo comportamento recorremos a um objecto especial: classes
  • Servem para:
    • Conter a estrutura e comportamento dos objectos do mesmo tipo,
    • Criar os respectivos objectos particulares (com o mesmo comportamento e estrutura).
  • Objectos são então instâncias de uma classe.
  • A classe garante coerência entre objectos criados a partir de si.

Métodos Programação II

exemplo1
Exemplo

Exemplo em JAVA:

ponto1 = new Ponto2D();

ponto2 = new Ponto2D();

cx = ponto1.cx();

cy = ponto1.cy();

ponto1.incX(1);

ponto1.incY(2);

ponto2.incX(3);

Métodos Programação II