14/02/2011
1
Ttp:
Programação Orientada a Objetos IAULA 1Introdução, Paradigmas de Programação e JAVA
Prof. Rodrigo [email protected] http://www.bolinhabolinha.com
Apresentação
Prof. Rodrigo Rocha – [email protected]
Ementa• Paradigma Orientado a Objetos x Paradigma
Estruturado• Sintaxe da Linguagem Java• Classes, atributos e métodos• Objetos e Classes• Encapsulamento• Atributos e métodos estáticos• Construtores• Sobrecarga de métodos e de construtores
(Overloading)• Herança• Conversão entre tipos (UpCasting e DownCasting)• Sobrescrita de métodos(Overriding)
14/02/2011
2
Bibliografia
Livro texto
• SANTOS, Rafael. Introdução à Programação Orientada a Objetos usando Java : PLT. 1ª ed. Rio de Janeiro: Elsevier, 2008.
Complementar
• SERSON, Roberto Rubinstein. Programação orientada a objetos com Java 6 : curso universitário. 1ª ed. São Paulo: Pearson Education, 2007.
• DEITEL, H. M. & DEITEL, P. J., LISBOA, C. A . L. Java, como programar. 6ª Ed. São Paulo: Pearson, 2005.
Auxiliar
• http://java.sun.com/docs/
• Sites de busca
Aula - Aula
Avaliação• 1.Bi 40% 2. Bi 60% (ATPS 3,0 + Aval 7,0)
14/02/2011
3
Conceitos
Linguagem de programação• O que são ?
“Linguagem artificial utilizada para controlar o comportamento de equipamentos, como computadores” (wikipédia)
• Sintaxe• Implementável • Eficiente• Compilação x Interpretação• Editores, ambientes de programação
Por que existem diferentes Linguagens de Programação• Objetivos• Avanço tecnológico• Fins comerciais
Programas• Entrada – processamento – saída• Seqüência de instruções para resolver problema
Paradigmas
Paradigma
• Estilos, modelos, padrões
• Tipos de paradigmas (Watt, David A.)
Imperativo ou Procedural
Orientado a objetos
“Funcional”
Lógico
Scripts
14/02/2011
4
Paradigma: Procedural
Paradigma Procedural (Imperativo)
• Primeiro a surgir
• Variáveis e comandos
• Muito utilizado
• Características:
Comandos
Variáveis
Procedimentos
Interação
• Exemplos: ADA, Pascal e C
Paradigma: Orientação a Objeto
Abstração de dados
Componentes principais:• Classe
• Objeto
• Herança
• Polimorfismo
Vantagens• Modularização
• Extensibilidade
• Reutilização
Exemplos: C++, .NET, JAVA
14/02/2011
5
Programação OO
Mitos
• “se a linguagem é orientada a objetos, o programa automaticamente também será”
• “orientação a objetos e programação estruturada são exclusivas entre si”
• “não é possível usar orientação a objetos se a linguagem não for orientada a objetos”
(Strijder van de Maan )
JAVA - Introdução
Desenvolvido pela Sun Microsystem
Surgiu na década de 90
Distribuído GPL - General Public License
Linguagem de Programação e Plataforma
Características principais:• Simples
• Orientado a objetos
• Multitarefa
• Processamento distribuído
• Alta performance
• Robusto
• Seguro
• Portável
14/02/2011
6
Como java pode mudar minha vida ?
Aprendizado fácil
• Derivado de C e C++
Escrita de menos código
• Em média 4 vezes menos que em c++
Melhor código
• Estimula o uso de “boas práticas”
• Garbage collection
Desenvolvimento mais rápido
Roda em “qualquer” plataforma
Distribuição do software mais fácil
Multiplataforma
Compilação
“tradicional”
• Gera código
nativo
14/02/2011
7
Multiplataforma
Arquivo .java
Compilado, gera .class
• Não possui código nativo
• Bytecodes
• Executado onde possuir JVM
Multiplataforma
14/02/2011
8
Java e a Internet
Applets
Bytecodes executados no browser
Habilitar JAVA no navegador
Java e outros dispositivos
Casa digital, pelo menos 40 produtos com processador
14/02/2011
9
JVM – Java Virtual Machine
Especificação aberta
Interpreta e executa java bytecode
J2EE, J2SE, J2ME
14/02/2011
10
Ambientes de Desenvolvimento
NetBeans
• http://www.netbeans.org
Eclipse
• http://www.eclipse.org
JBuilder
• Borland
Dúvidas
Perguntas ??????