Disciplina

Área

Área Científica de Metodologia e Tecnologias da Programação > Linguagens de Programação

Activa nos planos curriculares

LEIC-T 2021 > LEIC-T 2021 > 1º Ciclo > Área Principal > Programação com Objectos

GENI > GENI > 1º Ciclo > Área Principal > Percursos > Fundamentos para Engenharia de Telecomunicações e Informática > Programação com Objectos

LETI 2021 > LETI 2021 > 1º Ciclo > Área Principal > Programação com Objectos

LEIC-A 2021 > LEIC-A 2021 > 1º Ciclo > Área Principal > Programação com Objectos

MEIC-T 2006 > MEIC-T 2006 > 2º Ciclo > Áreas de Especialização Complementares > Fundamentos de Engenharia Informática > Programação com Objectos

MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Fundamentos de Engenharia Informática > Programação com Objectos

MEE 2006 > MEE 2006 > 2º Ciclo > Opções > C1 > Programação com Objectos

LERC 2006 > LERC 2006 > 1º Ciclo > Ciências da Engenharia Informática > Programação com Objectos

LEIC-A 2006 > LEIC-A 2006 > 1º Ciclo > Ciências da Engenharia Informática > Programação com Objectos

LEIC-T 2006 > LEIC-T 2006 > 1º Ciclo > Ciências da Engenharia Informática > Programação com Objectos

Nível

1ª Componente - 50% Projecto (sem nota mínima): a avaliação do projecto inclui um teste prático. 2ª Componente - 40% Teste (nota mínima de 7.5 valores). 3ª Componente - 10% Seis séries de exercícios (sem nota mínima) a realizar nas aulas práticas e em casa. Existem provas de repescagem para os testes prático e teórico. Das seis séries de exercícios, são contabilizadas as cinco melhores.

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

3.0 h/semana

1.5 h/semana

105.0 h/semestre

Objectivos

Conhecer: o paradigma de programação com objectos, as suas vantagens, inconvenientes e limitações; o paradigma dos padrões de desenho, tanto no desenvolvimento, como na refactorização de aplicações. Competências a adquirir: domínio do paradigma da programação com objectos, nomeadamente dos conceitos de encapsulamento, abstracção, herança e polimorfismo; capacidade de utilizar uma linguagem de programação baseada em objectos; capacidade de utilização de padrões de desenho; e domínio da escrita de testes de avaliação.

Programa

Programação com Objectos e Linguagem Java Introdução aos objectos: definição; longevidade; classes; métodos; programas. Regras de codificação em Java Operadores, expressões e controlo de fluxo em Java: precedências; atribuição; operadores; conversões de tipos; literais; controlo de execução Construção de objectos: iniciação e limpeza; construtores; métodos sobrecarregados; "this"; colector de lixo Organização de código: interface vs. implementação; bibliotecas; acesso aos membros Herança e composição: desenvolvimento incremental; "final"; carregamento de classes Polimorfismo; Classes abstractas e interfaces Classes internas: utilização e aspectos particulares de Java Tipos paramétricos Java: Enumerações; Excepções; Colecções; Entradas/saídas; Informação de tipos em tempo de execução Modelação (UML) Introdução à UML Diagramas de classes e de sequência Padrões de Desenho Introdução aos padrões de desenho: Singleton Apresentação e discussão de padrões de desenho: Composite, State, Template Method, Strategy, Decorator, Factory Method, Abstract Factory, Simple Factory, Observer, Visitor, Adapter, Façade, Bridge, Proxy

Metodologia de avaliação

1ª Componente - 50% Projecto (sem nota mínima): a avaliação do projecto inclui um teste prático. 2ª Componente - 40% Teste (nota mínima de 7.5 valores). 3ª Componente - 10% Seis séries de exercícios (sem nota mínima) a realizar nas aulas práticas e em casa. Existem provas de repescagem para os testes prático e teórico. Das seis séries de exercícios, são contabilizadas as cinco melhores.

Pré-requisitos

Componente Laboratorial

Princípios Éticos

Componente de Programação e Computação

Componente de Competências Transversais

Bibliografia

Principal

Thinking in Java

Bruce Eckel

2005 (Outubro)

Prentice Hall, New Jersey, ISBN 0131872486 (4ª Ed.)


Head First Design Patterns

Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates

2004 (Outubro)

O'Reilly. ISBN 0596007124


Secundária

Design Patterns: Elements of Reusable Object-Oriented Software

Erich Gamma, Richard Helm, Ralph Johnson e John

1995

Addison Wesley Professional, ISBN 0201633612


Head First Java

Kathy Sierra, Bert Bates

2005 (Fevereiro)

O'Reilly. ISBN 0596009208 (2ª Ed.)


The Unified Modeling Language User Guide

Grady Booch, James Rumbaugh, Ivar Jacobson

2005

Addison Wesley Professional (2ª Ed.)


JAVA6 e Programação Orientada pelos Objectos

Fernando Mário Junqueira Martins

2009

FCA. ISBN 978-972-722-624-5


C++ Primer

Stanley B. Lippman, Josée Lajoie, Barbara E. Moo

2005

ISBN-10: 0-201-72148-1, ISBN-13: 978-0-201-72148-5, Addison-Wesley Professional (4ª Ed.)