UNIVERSIDADE FEDERAL DO MARANHÃO

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

ESPECIALIZAÇÃO EM ANÁLISE E PROJETO DE SISTEMAS

 

 

DISCIPLINA

 

Programação Orientada a Objetos

 

 CARGA HORÁRIA

 

45 horas

 

PROFESSOR(A)

 

Alexandre César Muniz de Oliveira

 

 

 

EMENTA

Abstração. Tipos Abstratos de Dados. Objetos. Classes. Atributos. Métodos. Encapsulamento. Interface. Hierarquia de Classes. Herança. Polimorfismo. Redefinição. Especialização. Generalização. Associação Dinâmica. Tratamento de Exceção. Estudos de uma linguagem orientada a objetos.

 

 

Conteúdo Programático:

1  INTRODUÇÃO <pdf>

1.1           

Apresentação e Contextualização

1.2

Características de Java

1.3

Noções de Programação Orientada a Objetos

1.3.1

Dividir para conquistar

1.3.2

Encapsulamento

1.3.3

Abstração

1.3.4

Interface

1.3.5

Generalização e especialização

 

2   DESENVOLVIMENTO ORIENTADO A OBJETOS <pdf>

2.1

Entendimento do problema

2.2

Especificação

2.3

Decomposição

2.4

Projeto de objetos

 

3   MÉTODOS E ATRIBUTOS <pdf>

3.1

Atribuição de dados

3.2

Construtores

3.3

Recuperação de dados

3.4

Passagem por valor e por referência

 

 

4   ENTRADA E SAÍDA DE DADOS <pdf 2/pag>

4.1

Interface do usuário

4.1.1

Linha de comando

4.1.2

Interface Gráfica do Usuário

 

5   DADOS E OPERADORES <pdf 2/pag>

5.1

Lógicos

5.2

Numéricos

5.2.1

Bibliotecas numéricas

5.3

Caracteres

 

6   ESTRUTURAS DE CONTROLE DE FLUXO  <pdf 2/pag>

6.1

Desvio condicional

6.2

Repetição

6.3

Múltiplas decisões

 

7   HERANÇA E POLIMORFISMO <pdf>

7.1

Herança

7.2

Classes abstratas

7.3

Interfaces

7.4

Polimorfismo

7.5

Orientação a Objetos revisada

 

 

8   ARQUIVOS

8.1

Conceito de Streams

8.2

Classe File

8.3

Serialização de objetos

 

 

9   ARRANJOS

9.1

Arranjos unidimensionais

9.2

Algoritmos com arranjos

9.2.1

Ordenação

9.2.2

Busca

9.3

Arranjos bidimensionais

9.4

Arranjos multidimensionais

9.5

Operações polimórficas

 

 

10         NOÇÕES SOBRE MODELO DE IMPLEMENTAÇÃO

10.1

Relações entre classes

10.2

Implementação de relações

  

 

Bibliografia:

Bibliografia Básica

                  

  • Ralph Morelli, Ralph Walde.  Java, Java, Java™: Object-Oriented Problem Solving, Third Edition. Trinity College. Prentice HallPub. 2005. ISBN-10: 0-13-147434-0

 

Bibliografia de Apoio

 

  • Michael Blaha, James Rumbaugh. Modelagem e Projetos Baseados em Objetos com UML 2. 2ed. Campus
  • Sites da Web

o        HTML SUN: http://java.sun.com/reference/docs/

o        HTML Eclipse: http://www.eclipse.org/

o        HTML Exercícios resolvidos em classe (breve)

 

 

 

 

 Lista de atividades

A avaliação final d aluno constará de uma prova escrita e de uma lista de exercícios de programação representando uma prova prática. Os trabalhos práticos serão apresentados em laboratório ou enviados por email, de acordo com a solicitação do professor. A seguir, estão listadas as primeiras atividades práticas:

  1. Classe Racional: implementar em Java uma classe Racional, conforme especificação dada em sala de aula; implementar uma classe usuária, equivalente a uma aplicação usando números racionais (23/08/2007)
    • Enviar por email a versão final
  2. Classes Conta e TesteConta, nos mesmos moldes do exercício 1, sendo que a classe TesteConta pode conter uma interface gráfica e eventos (30/08/2007). Sugestão dada em sala de aula (cortesia Jorge Mota).
  3. Classes Hotel, Hospede, Apartamento, Reserva, dentre outras, necessárias para a implementação de um gerenciador de hotéis, dentro dos requisitos levantados na disciplina Engenharia de Software (06/09/2007)

 

Bibliografia de Apoio

 

  • Michael Blaha, James Rumbaugh. Modelagem e Projetos Baseados em Objetos com UML 2. 2ed. Campus
  • Sites da Web

o        HTML SUN: http://java.sun.com/reference/docs/

o        HTML Eclipse: http://www.eclipse.org/