m todos de programa o ii mestrado integrado em engenharia de comunica es 1 ano 2 semestre
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 [email protected] 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


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

[email protected]

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

ad