1. CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PIAUÍ
UNIDADE DE ENSINO DESCENTRALIZADA DE PARNAÍBA
GERÊNCIA DE ENSINO
COORDENAÇÃO PEDAGÓGICA
PLANO DE CURSO
Curso: Técnico em Informática
Disciplina: Programação Orientada a Objetos
Área Profis.: Informática Carga-horária: 90 horas
Ano: 2007 Semestre: 2º Módulo: 2
Objetivo Geral
Implementar soluções utilizando o paradigma de orientação a objetos.
Ementa
Programação Orientada a Objetos: Histórico, Linguagens, POO x Programação Estruturada, Conceitos básicos.
Java – Visão Geral. Variáveis. Declaração e uso. Tipos primitivos e valores. Strings. Conversão de tipos.
Operadores. Controle de Fluxo. Escopo das variáveis. Aninhamento de blocos. Orientação a objetos básica:
Classe, Objetos, Instanciação de objetos, Construtores, Atributos e Métodos de classe e de instância. Arrays.
Pacotes. Encapsulamento: Modificadores de acesso. Herança: Sobrecarga e Sobrescrita de métodos.
Polimorfismo. Classes Abstratas. Interfaces. Exceções. Documentação usando javadoc. Preparação de Arquivos
para Distribuição. Principais pacotes da API Java. Interfaces gráficas usando Swing. Acesso a bancos de dados.
Mapeamento Objeto-Relacional.
Competências
− Explicar e determinar para que serve a orientação a objetos;
− Comparar o paradigma estruturado com o paradigma OO;
− Citar linguagens estruturadas e OO usadas no passado e no presente;
− Explicar vantagens e desvantagens da POO;
− Implementar aplicações em linguagem orientada a objetos.
− Explicar e usar os principais conceitos da POO: Classe, Objetos, Instanciação de Objetos, Construtores,
Atributos (propriedades / características) e Métodos (comportamentos) de Classe e de Instância,
Encapsulamento, Herança e Polimorfismo;
− Dizer o que é herança e quando utilizá-la ;
− Explicar o que são interfaces e qual a sua aplicação;
− Usar classes para manipulação de coleções de objetos;
− Implementar interfaces gráficas com componentes;
− Implementar aplicações gráficas com acesso a bancos de dados relacionais.
Habilidades
− Compilar e executar um programas em linguagem OO;
− Declarar e atribuir valores a variáveis locais, de classe e de instância.
− Converter tipos de variáveis;
− Controlar o fluxo através de if e else;
− Usar instruções de laço for e while, juntamente com controle de fluxo usando break e continue;
− Declarar, instanciar, popular e percorrer arrays;
− Controlar o acesso a métodos, atributos e construtores através dos modificadores de visibilidade;
− Escrever métodos de acesso a atributos do tipo getters e setters;
− Escrever construtores para classes;
− Utilizar variáveis e métodos de classe (estáticos) e de instância;
− Reaproveitar código já escrito através do uso de herança;
− Escrever uma interface em linguagem OO para diminuir acoplamento entre as classes;
2. − Separar classes em pacotes;
− Preparar arquivos para distribuição;
− Criar a documentação javadoc da aplicação;
− Tratar exceções ocorridas nas aplicações;
− Criar exceções para melhorar o tratamento de erros das aplicações;
− Utilizar Arrays, Lists, Sets ou Maps dependendo da necessidade da aplicação;
− Iterar e ordenar listas e coleções;
− Usar mapas para inserção e busca de objetos;
− Usar a API do Swing para fazer interfaces gráficas;
− Acessar bancos de dados relacionais através de JDBC e mapeamento objeto-relacional.
Bases Tecnológicas (Conteúdos)
Programação Orientada a Objetos
Histórico
O que significa POO
Linguagens OO
POO x Programação Estruturada
Vantagens e Desvantagens
Conceitos básicos
Classe, Objeto, Encapsulamento, Herança, Polimorfismo.
Java – Visão Geral
Histórico
Mitos
Principais características
Plataforma Java e Linguagem Java
Componentes da plataforma Java
Máquina virtual (JVM)
JIT
Bytecodes
Ciclo: codificação, compilação e execução
Classes, objetos, atributos e métodos
Coleta de Lixo
Variáveis
Declaração e uso
Tipos primitivos e valores
Casting e promoção
Strings
Conversão de tipos
Operadores
Operador ternário
Controle de Fluxo
if-else
Loops: while / for
Escopo das variáveis
Aninhamento de blocos
Orientação a objetos básica
Classe
Objetos
Instanciação de objetos
Construtores
Atributos e Métodos
de classe
de instância
Arrays
3. Pacotes
Organização
Import
O pacote java.lang
Classes: System, Runtime, Object, String, Math
Classes Wrappers
Autoboxing
Encapsulamento
Modificadores de acesso
Getters e Setters
Herança
Sobrecarga e Sobrescrita de métodos
Polimorfismo
Classes Abstratas
Interfaces
Exceções
Problema e possíveis soluções
Tratamento de exceções
Lançamento de exceções
Hierarquia de exceções
Criação de Exceções
Exceções checadas e não checadas pelo compilador
Documentação usando javadoc
Preparação de Arquivos para Distribuição
Principais pacotes da API Java
java.io
Classes Wrapper
Coleções (Collection)
Listas (List), Conjuntos (Set) e Mapas (Map)
Interfaces gráficas usando Swing
Gerenciadores de Layout
Componentes básicos
Acesso a bancos de dados através de JDBC
Mapeamento Objeto-Relacional
Procedimentos Metodológicos
− Aulas expositivas dialogadas;
− Práticas e Projetos individuais e em grupo;
− Práticas em Laboratório e em Sala de Aula.
Recursos Didáticos
Quadro branco, computador, projetor multimídia.
Forma de Avaliação
Qualitativa e quantitativa no decorrer do processo de aprendizagem, através da observação e aplicação de provas
escritas e/ou práticas individuais e em grupo.
Bibliografia
SILVEIRA, G.; SILVEIRA, P. & LOPES, S. Apostila Java e Orientação a Objetos. Caelum, 2006.
SIERRA, K. & BATES, B. Use a Cabeça! Java. Alta Books, 1ª Edição, 2005.
CORNELL, G. & HORSTMANN, C. S. Core Java 2: Fundamentos - Vol. 1. Alta Books, 7ª Edição, 2005.
DEITEL, H. M. & DEITEL, P.J. Java - Como Programar. Prentice-Hall, 6ª Edição, 2005.
ARNOLD, K. & GOSLING J. A linguagem de programação Java. Bookman, 4ª Edição, 2007.
SANTOS, R. Introdução à Programação Orientada a Objetos Usando Java. Campus, 1ª Edição, 2003.
BARNES, D. J. & KÖLLING, M. Programação Orientada a Objetos com Java: Introdução Prática usando o BLUEJ.
4. Makron Books, 1ª Edição, 2004.
BORATTI, I. C. Programação Orientada a Objetos Usando Delphi. Visual Books, 3ª Edição, 2004.
DALL’OGLIO, Pablo. PHP - Programando com Orientação a Objetos. Novatec, 1ª Edição, 2007.