M todos de programa o ii mestrado integrado em engenharia de comunica es 1 ano 2 semestre
Download
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