You are on page 1of 22

Universidade Federal de Sergipe Departamento de Sistemas de Informao / Itabaiana

Programao II
Pgina inicial do grupo: http://groups.google.com.br/group/ufs-dsi-progii Endereo de e-mail do grupo: ufs-dsi-progii@googlegroups.com Pgina do Professor: https://sites.google.com/site/ufsprofalcidesbenicasa

Prof Alcides Xavier Benicasa


alcides@ufs.br

Introduo e Plano de Curso

Apresentao do Professor
Formao Acadmica/Titulao http://lattes.cnpq.br/6420724387556852

2009 - atual

Doutorando em Cincia da Computao. Universidade de So Paulo, USP, Sao Carlos, Brasil Ttulo: Um Sistema para Ateno Visual Baseado em Redes de Elementos Acoplados. Orientadora: Roseli Aparecida Francelin Romero. Mestrado em Cincia da Computao. Universidade Federal de So Carlos, UFSCAR, Sao Carlos, Brasil Ttulo: Um Modelo de Sistema Fuzzy para Despacho de Veculos Autoguiados em Manufatura Integrada Orientador: Orides Morandin Jnior Graduao em Processamento de Dados. Faculdade de Tecnologia de Taquaritinga, FATEC-TQ, Brasil Ttulo: Internet Via Rdio Orientador: Nilson Carlos Duarte da Silva

2001 - 2003

1997 - 2000

UFS Programao II / 2 de 43

Objetivos da Disciplina de IPOO Estudo dos princpios e tcnicas bsicas da programao orientada a objetos e aplicao desses princpios e tcnicas no desenvolvimento de programas computacionais orientados a objetos.

UFS Programao II / 3 de 43

Ementa
Noes de referncias/ponteiros. Paradigma de objetos e mensagens. Classes e instncias. Encapsulamento de estrutura e comportamento. Tcnicas de modularizao / decomposio de software. Recursividade. Herana simples e mltipla. Subtipos, vinculao dinmica e polimorfismo de herana. Uma linguagem orientada a objetos (por exemplo, Eiffel, C++, Pascal com objetos ou Java). Classes principais da biblioteca padro da linguagem. Interfaces grficas e ambiente visual de desenvolvimento. Projeto orientado a objetos.

UFS Programao II / 4 de 43

Habilidades

Pensar OO no incio de seu projeto; adquirir estratgias para projetar e gerenciar projetos de programao; Dominar o vocabulrio e os conceitos da POO; Aplicar os conhecimentos de POO em exemplos reais.
UFS Programao II / 5 de 43

Introduo Programao Orientada a Objetos

Paradigma

O que Paradigma de Programao ?

UFS Programao II / 7 de 43

Paradigma
Padro conceitual que orienta solues de projeto e implementao. Paradigmas explicam como os elementos que compem um programa so organizados e como interagem entre si. Exs.: procedural, orientado a objetos, etc.

UFS Programao II / 8 de 43

Consideraes Iniciais
Linguagens Orientadas a Objetos (LOO) desde a dcada de 1960 Sucessos recentes Java, CORBA, C++ Java Orientao a Objetos (OO) Termo genrico que inclui qualquer estilo de desenvolvimento fundamentado no conceito de objeto Objeto Entidade que exibe caractersticas e comportamentos

UFS Programao II / 9 de 43

Precursores da POO
Linguagens Procedurais Reduo de programas a procedimentos refinados para processamento de dados, etc. Execuo de programas seqenciais procedurais: chamadas seqenciais a procedimentos

UFS Programao II / 10 de 43

O que um Objeto ? Uma abstrao de um objeto do mundo real. real Uma estrutura composta de dados e operaes. es

UFS Programao II / 11 de 43

Programao Orientada a Objetos


Um programa orientado a objetos estruturado como uma comunidade de objetos que interagem entre si. Cada objeto tem um papel a cumprir. Cada objeto oferece um servio ou realiza uma ao que servi usada por outros membros da comunidade. Ex.: um computador e seus componentes (teclado, mouse, vdeo, cpu...)

UFS Programao II / 12 de 43

O que Orientao a Objetos ?


Classe tipo ou molde

Objeto

instncia ou exemplar

Mensagem

comunicao entre objetos comunica

UFS Programao II / 13 de 43

Programao Orientao a Objetos

Joseana Automvel Automvel Autom Mas Mas Ma

Casa

Mundo real

Modelo
Automvel Automvel Autom Joseana Casa mora na come dirige Mas Mas Ma

UFS Programao II / 14 de 43

Classes Uma classe uma frma para frma produzir objetos. Determina um conjunto de objetos com:
propriedades semelhantes comportamentos semelhantes relacionamentos comuns com outros objetos. objetos

UFS Programao II / 15 de 43

Classes

UFS Programao II / 16 de 43

Programao Orientada a Objetos Objeto


Entidades do mundo real

Instncia
Objeto criado a partir de uma classe A classe descreve a estrutura da instncia O estado da instncia definido pelas operaes realizadas sobre ela

UFS Programao II / 17 de 43

Classes e Objetos

veculos
Ferrari IDN8810

veculo
Marca Placa
ler_placa

objeto1
Fiat Uno IAS3333

instncias

classe

objeto2
UFS Programao II / 18 de 43

Propriedades e Atributos
Objetos do mundo real exibem propriedades, s propriedades quais esto associados valores

UFS Programao II / 19 de 43

Mensagens e Mtodos
Objetos apresentam determinados comportamentos (executam determinadas operaes) ao receberem estmulos de outros objetos Objetos requisitam aes de outros objetos a partir de mensagens

UFS Programao II / 20 de 43

10

Mensagens e Mtodos
Contedo de uma Mensagem
nome do objeto receptor nome da mensagem argumentos (opcional) que podem ser objetos;

Mensagem
Solicitao feita por um objeto a outro objeto, a fim de que seja executada uma rotina denominada mtodo

UFS Programao II / 21 de 43

Mtodos Responsveis pelo acesso ou alterao dos atributos de um objeto Atributos de um objeto podem mudar de acordo com o tempo
Mudana de estado do objeto

UFS Programao II / 22 de 43

11

Demais Conceitos Importantes

Encapsulamento Herana Polimorfismo

UFS Programao II / 23 de 43

Encapsulamento
um dos conceitos bsicos de OO. A idia de uma caixa preta: preta
no necessrio saber os detalhes de funcionamento interno, mas sim como utilizar.

Encapsular - esconder como as coisas funcionam por trs de uma interface externa. externa

UFS Programao II / 24 de 43

12

Encapsulamento
Com a encapsulao, o objeto se comporta como uma caixa-preta, aumentando a abstrao
Joseana dirige um automvel usando pedais, alavanca de marchas e volante. Aspectos relativos ao motor lhe so ocultados

Encapsular esconder como as coisas funcionam por trs de uma interface externa.

UFS Programao II / 25 de 43

Encapsulamento
Tipos de visibilidade (acessibilidade) para os acessibilidade componentes de uma classe (atributos e operaes) pblico (public): visvel para todos os objetos que public compem o sistema. particular (private): somente os componentes da private prpria classe podem visualiz-lo. protegido (protected): alm dos componentes da protected prpria classe, tambm os componentes das eventuais subclasses podem visualiz-lo.

UFS Programao II / 26 de 43

13

Herana

Mamfero Mam
subclasse de

superclasse de

Primata

Felino

Homem

Gorila

Gato

Ona On

Surge ento o conceitos de subclasse e superclasse. superclasse

UFS Programao II / 27 de 43

Classes e Objetos

UFS Programao II / 28 de 43

14

Polimorfismo
Nome dado capacidade que objetos diferentes tm de responder a uma mensagem enviada.
Mesmo nome (mensagem formas de execuo diferentes, mensagem), prprias de cada objeto. Com o polimorfismo o usurio pode enviar uma mensagem genrica e abandonar detalhes sobre a exata implementao sobre o objeto receptor.

UFS Programao II / 29 de 43

Orientada a Objetos x Estruturada


Programao Orientada a Objetos
Mtodos Instncias de variveis Mensagens Classes Herana Polimorfismo

Programao Estruturada
Procedimentos e funes Variveis Chamadas a procedimentos e funes Tipos de dados definidos pelo usurio -

UFS Programao II / 30 de 43

15

Unidades de Ensino

Unidades de Ensino I - Introduo


Conceitos Fundamentais de Programao Orientada a Objetos Modelos Classes Objetos Estrutura de uma Classe

UFS Programao II / 32 de 43

16

Unidades de Ensino II - Escopo, Tempo de Vida e Visibilidade


Pacotes Visibilidade de pacote Construtores. Sobrecarga

UFS Programao II / 33 de 43

Unidades de Ensino III - Recursos Adicionais


Constantes this Membros Globais

UFS Programao II / 34 de 43

17

Unidades de Ensino IV - Sistema de Tipos, Herana e Polimorfismo


Interfaces, Redefinio de Mtodos

UFS Programao II / 35 de 43

Unidades de Ensino V - Tratamento de Excees

UFS Programao II / 36 de 43

18

Unidades de Ensino VI - Criando Aplicaes Grficas em Java

UFS Programao II / 37 de 43

Metodologia de Ensino

Aulas expositivas. Resoluo de exerccios, individualmente ou em equipe. Treinamento em laboratrio.

UFS Programao II / 38 de 43

19

Atividades Complementares Trabalhos prticos executados por equipes.

UFS Programao II / 39 de 43

Critrios de Avaliao

AVALIAO AVALIA

CONTEDO (UNIDADES) CONTE

TIPO DE AVALIAO AVALIA

N1 N2

Unidades I, II e III

* Prova Individual 6,0pt Trabalhos aplicados no Processo 4,0pt * Prova Individual 5,0pt Trabalhos aplicados no Processo 5,0pt

Unidades IV, V e VI

* A composio das notas ser a soma dos pontos da prova mais os pontos obtidos nos trabalhos aplicados
UFS Programao II / 40 de 43

20

Critrios de Avaliao A mdia anual do aluno ser computada a partir mdias ( N1 e N2), onde:
N1 e N2 = Avaliao/Trabalho/Seminrio Mdia Final: MF=(N1+N2)/2

UFS Programao II / 41 de 43

Bibliografia Bsica
DEITEL, H. M.; DEITEL, P. J. Java tm: como programar. 6. ed. So Paulo: Pearson Prentice Hall, 2006. 1110 p. SEBESTA, Robert W. Conceitos de linguagens de programao. 5. ed. Porto Alegre, RS: Bookman, 2003. ZIVIANI, Nivio. Projeto de algoritmos: com implementaes em Java e C ++. So Paulo: Pioneira Thomson, 2007. APPEL, Andrew W.; PALSBERG, Jens. Modern compiler implementation in Java. 2nd ed. Cambridge: University Press, 2002. HORSTMANN, Cay S.; CORNELL, Gary. Core java 2: fundamentos. Rio de Janeiro: Alta Books, 2005.

UFS Programao II / 42 de 43

21

Bibliografia Complementar
SANTOS, Rafael. Introduo programao orientada objetos usando Java. 4. ed. Editora : EDITORA CAMPUS, 2003. 352 p. BARNES, Ralph M. e KOLLING, Michael. Programao orientada a objetos com Java. Editora: Pearson Education do Brasil, 2004. 432p.

UFS Programao II / 43 de 43

22

You might also like