Professional Documents
Culture Documents
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
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
Paradigma
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
UFS Programao II / 12 de 43
Objeto
instncia ou exemplar
Mensagem
UFS Programao II / 13 de 43
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
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
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
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
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
UFS Programao II / 32 de 43
16
UFS Programao II / 33 de 43
UFS Programao II / 34 de 43
17
UFS Programao II / 35 de 43
UFS Programao II / 36 de 43
18
UFS Programao II / 37 de 43
Metodologia de Ensino
UFS Programao II / 38 de 43
19
UFS Programao II / 39 de 43
Critrios de Avaliao
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