Programação Orientada a Objeto

Transcrição

Programação Orientada a Objeto
Disciplina: Programação Orientada a Objeto
E-mail: [email protected]
Site : https://sites.google.com/site/profrximenes/
Prof. Rhyan Ximenes
2
Programação
Orientada
Objeto
Ementa
•
•
•
•
•
•
•
•
Histórico;
Classes e objetos;
Atributos e métodos;
Abstração e encapsulamento;
Herança e Polimorfismo;
Comunicação e associação;
Herança simples e múltipla;
Hierarquias de classes;
3
Programação
Orientada
Objeto
Ementa
•
•
•
•
Interfaces;
Inicialização e destruição de objetos;
Padrões de interação entre objetos;
Implementação de interface humana e
armazenamento de dados orientados a objetos;
• Uso de linguagem de programação orientada a
objetos.
4
Programação
Orientada
Objeto
Forma de Avaliação
• Nota 01 = (Trabalho*1+Avaliação*2)/3;
• Nota 02 = (Trabalho*1+Avaliação*2)/3;
• Nota 03 = (Trabalho*1+Avaliação*2)/3;
• Média = (Nota01+Nota02+nota03)/3
5
Programação
Orientada
Objeto
Faltas
• 75% de presença;
• 25% falta.
6
Programação
Orientada
Objeto
Nota Final
• If( NF = (Média+NAF)/2 >=5.0) then
• APROVADO!
•
CASO CONTRÁRIO
•
REPROVADO!
7
Programação
Orientada
Objeto
O que é a P.O.O
• O termo orientação a objetos significa organizar
o mundo real como uma coleção de objetos que
incorporam estruturas de dados e
comportamentos.
8
Programação
Orientada
Objeto
Origem da P.O.O
• Final da década de 60 e início da década de 70;
• Sua origem vem da linguagem Simula (Simula
Language), concebida na Noruega em 1966;
• Foi criada para fazer simulações;
• Alavancou um conceito que até então passava
desapercebido pela maioria dos projetistas: a
similaridade com o mundo real.
9
Programação
Orientada
Objeto
Origem da P.O.O
• A primeira linguagem de programação a implementar os
conceitos de OOP foi a linguagem SIMULA-68;
• Em seguida surgiu a linguagem Smalltalk; criada pela
Xerox, que pode ser considerada a linguagem que
popularizou e incentivou o emprego da OOP;
10
Programação
Orientada
Objeto
Finalidade da P.O.O
• O que se deseja com esta metodologia são
basicamente duas características:
1 - Reutilização de código;
2- Modularidade de escrita.
11
Programação
Orientada
Objeto
O que caracteriza uma linguagem O.O?
• Para ser considerada uma linguagem OO, a mesma
precisa implementar quatro conceitos básicos:
1 – Abstração;
2 – Encapsulamento;
3 – Herança;
4 - Polimorfismo.
12
Programação
Orientada
Objeto
Cronologia das Linguagem O.O
• 1967: Simula – introduz os primeiros conceitos de OO
1972: Smalltalk – Xerox
1980: C++ – linguagem híbrida, derivada da linguagem
C.
1983: Ada – criada para uso militar nos EUA
13
Programação
Orientada
Objeto
Cronologia das Linguagem O.O
• 1984: Eilffel – primeiras características formais de OO
1986: Object pascal
1995: JAVA – Linguagem puramente orientada a objetos
1995: Várias linguagens agregando conceitos de OO
2000: Plataforma .NET
14
Programação
Orientada
Objeto
Histórico da Linguagem Java
• Java foi criado em 1991 por James Gosling da Sun Microsystems,
atualmente pertence a ORACLE;
• Inicialmente chamada OAK (Carvalho);
• A motivação original do Java era a necessidade de uma linguagem
independente de plataforma que podia ser utilizada em vários
produtos eletrônicos, tais como torradeiras e refrigeradores;
• Um dos primeiros projetos desenvolvidos utilizando Java era um
controle remoto pessoal chamado *7 (Star Seven).
15
Programação
Orientada
Objeto
O que é a tecnologia Java?
• É uma linguagem de programação que pode ser utilizada para criar
todos os tipos de aplicações existentes, de programas de
Inteligência Artificial para robôs até programas para aparelhos
celulares.
16
Programação
Orientada
Objeto
Motivação para a linguagem
• A motivação original do Java era a necessidade
de uma linguagem independente de plataforma;
• Para ser utilizada em vários produtos eletrônicos, tais
como torradeiras e refrigeradores;
17
Programação
Orientada
Objeto
Motivação para a linguagem
• Primeiro projeto desenvolvido utilizando Java: Controle
remoto pessoal chamado *7 (Star Seven);
• Ao mesmo tempo, a World Wide Web e a Internet
foram ganhando popularidade;
• Autor achava que a linguagem Java poderia ser usada
para programação da Internet.
18
Programação
Orientada
Objeto
Ambiente de desenvolvimento
• Fornece um grande conjunto de ferramentas: JDK
- Um compilador, um interpretador;
- Um gerador de documentação;
- Ferramenta de empacotamento de classes de arquivos e
outros.
19
Programação
Orientada
Objeto
Ambiente de distribuição
• Há dois ambientes de distribuição principais:
- Primeiro, o JRE, fornecido através do Java 2 Software
Development Kit (SDK), contém um conjunto completo de arquivos de
classes para todos pacotes de tecnologia Java;
- Outro ambiente de distribuição é o navegador web, ou seja, o
browser, para desenvolvimento de applets utilizadas em aplicações
web.
20
Programação
Orientada
Objeto
Algumas Características do JAVA
•
•
•
•
•
•
•
Orientada a objetos;
Segura;
Compilada e Interpretada;
Máquina Virtual Java;
Garbage Collector;
É uma linguagem case-sensitive;
Multiplataforma.
21
Programação
Orientada
Objeto
Orientada a objetos
• Java é uma linguagem orientada a objetos que segue a linha purista
iniciada por Smalltalk que é considerada puramente O.O e que tudo
nesta são objetos;
• Com a exceção dos tipos primitivos da linguagem (char, int, float,
etc.), a maior parte dos elementos de um programa Java são objetos.
22
Programação
Orientada
Objeto
Segura
• A presença de coleta automática de lixo (Garbage Collector), evita
erros comuns que os programadores cometem quando são
obrigados a gerenciar diretamente a memória (C, C++, Pascal).
23
Programação
Orientada
Objeto
Compilada e Interpretada
• Compilador – Traduz o programa escrito em linguagem de alto nível
(programa-fonte) para um programa equivalente escrito em
linguagem de máquina (programa-objeto).
Programa
Fonte
Linguagem
Alto Nível
COMPILADOR
Programa
Objeto
Linguagem
Baixo Nível
EXECUÇÃO
Resultados
24
Programação
Orientada
Objeto
Compilada e Interpretada
• Interpretador – Traduz e envia para execução, instrução por
instrução e o programa permanece na forma fonte.
Programa
Fonte
Linguagem
Alto Nível
INTERPRETADOR
EXECUÇÃO
Resultados
25
Programação
Orientada
Objeto
Compilada e Interpretada
• Java é uma linguagem compilada e interpretada
• Como funciona?
- 1º O compilador Java, chamado javac, compila o código-fonte do
Java para um código de nível intermediário chamado códigos de bytes
(bytes-codes);
- 2º Esses códigos de bytes(bytes-codes) não são diretamente
executáveis em qualquer plataforma de hardware existente; mas esses
códigos são interpretados pelo interpretador Java (JVM);
26
Programação
Orientada
Objeto
Compilada e Interpretada
• O fato de Java ser tanto compilada quanto interpretada proporciona
ao programador o melhor de ambos os mundos.
27
Programação
Orientada
Objeto
Multiplataforma
• A característica de multiplataforma da linguagem Java indica
que um programa desenvolvido nela pode ser executado em
plataformas de hardware e sistemas operacionais diferentes.
• Isso é possível devido a JVM (Máquina Virtual Java).
28
Programação
Orientada
Objeto
Máquina Virtual Java
• Como funciona?
- Um código a ser executado por essa máquina deve ser gravado em
um arquivo com extensão .class e possuir um código compatível com
as instruções Java.
javac
JVM
29
Programação
Orientada
Objeto
Garbage Collection
• O Garbage Collection é o grande responsável pela liberação
automática do espaço em memória. Isso acontece automaticamente
durante o tempo de vida do programa Java;
• É um mecanismo de controle automático de alocação e liberação de
memória.
30
Programação
Orientada
Objeto
Case sensitive
• Faz diferenciação entre caracteres maiúsculos e minúsculos.
• Por exemplo:
• Dia ≠ dia.
31
Programação
Orientada
Objeto
Processo de Compilação e
Interpretação de códigos
Compilador
javac
Editor
Byte-Codes
Interpretador
Execução
32
Programação
Orientada
Objeto
Plataformas Java
• Composta por três plataformas principais que foram
criadas para segmentos específicos de aplicações:
• Java SE(Java Platform, Standard Edition) - É a base da
plataforma. Inclui o ambiente de execução e as
bibliotecas comuns.
33
Programação
Orientada
Objeto
Plataformas Java
• Java EE (Java Platform, Enterprise Edition). A edição
voltada para o desenvolvimento de aplicações
corporativas e para internet.
• Java ME (Java Platform, Micro Edition). A edição para o
desenvolvimento de aplicações para dispositivos móveis
e embarcados.
34
Programação
Orientada
Objeto
Plataformas Java
• Além disso, pode-se destacar outras duas plataformas
Java mais específicas:
• Java Card. Voltada para dispositivos embarcados com
limitações de processamento e armazenamento, como
smart cards e o Java Ring.
• Java FX. Plataforma para desenvolvimento de aplicações
multimídia em desktop/web (Java FX
Script) e
dispositivos móveis (Java FXMobile).
35
Programação
Orientada
Objeto
Componentes da Plataforma Java SE
• Contém todo o ambiente necessário para a criação e
execução de aplicações Java:
- Máquina Virtual Java (JVM);
- Compilador Java (Javac);
- Javadoc - Gerador de documentação;
- API´s do Java e outras ferramentas utilitárias para
uma melhor funcionalidade.
36
Programação
Orientada
Objeto
IDE´s Utilizadas na Programação Java
• IDE - Ambiente para desenvolvimento de Software;
• Utilizaremos o NetBeans e o Eclipse.
37
Programação
Orientada
Objeto
Eclipse
38
Programação
Orientada
Objeto
NetBeans
39
Programação
Orientada
Objeto
Entendo um programa em JAVA
public class Hello
{ // Inicio do bloco
/*
* Meu primeiro programa em JAVA
*/
public static void main(String arg[])
{ // Inicio do bloco
//Exibir a mensagem “Hello World” na tela
System.out.println(“Hello World!”);
} // Fim do bloco
} // Fim do bloco
40
Programação
Orientada
Objeto
Comentários na linguagem JAVA
// Comenta toda a linha
/* Outro forma de comentar
* Várias linhas
* Em
*/ um programa em JAVA
41
Programação
Orientada
Objeto
Algumas palavras reservadas em Java
byte
double
class
public
float
char
int
String
long
short
boolean
true
false
super
this
if
for
while
switch
default
do
while
break
continue
return
42
Programação
Orientada
Objeto
Operadores em JAVA
Operador
Descrição
=
Atribuição
==
Igualdade
+
Soma
-
Subtração
*
Multiplicação
/
Divisão
>=
Maior igual
<=
Menor igual
!=
Diferente
!
Negação
43
Programação
Orientada
Objeto
Formação de identificadores em Java
• Identificadores são representações de nomes de variáveis, métodos,
classes, etc;
• Exemplos de identificadores podem ser: Hello, numero, n1, num_,
etc;
• Java difere maiúsculo de minúsculo, por exemplo: Hello < > hello;
• Os identificadores em Java devem começar com uma letra, um
underscore “_”, ou um sinal de cifrão “$”;
44
Programação
Orientada
Objeto
Formação de identificadores em Java
• As letras tanto podem ser maiúsculas ou minúsculas;
• Os caracteres subsequentes podem usar números de 0 a 9;
• Os identificadores não podem ter nomes iguais às palavras-chaves
ou palavras reservadas do JAVA, como: class, public, void, int, etc.;
• Evitar o uso de underscore no início de um identificador.
45
Programação
Orientada
Objeto
Tipos de dados em Java
• A linguagem de programação Java possui exatamente oito
tipos primitivos, que podem representar qualquer tipo de
dado para um programa de computador;
• Chamam-se tipos primitivos por serem os tipos mais básicos
de dados, de onde todos os outros se originam.
46
Programação
Orientada
Objeto
Tipos de dados em Java
• Os tipos primitivos são:
• boolean; byte; char; double; float; int; long; short.
• Eles se dividem em:
• Tipos primitivos inteiros: byte, char, int, long e short;
• Tipos primitivos ponto flutuante: double e float;
• Tipo primitivo boleando: boolean.
• Obs.: String não é um tipo primitivo, e sim um objeto que contém
uma sequência de caracteres. (Assunto para as próximas aulas)
47
Programação
Orientada
Objeto
Tipos primitivos em Java
Tipos
primitivos
Tamanho (bytes)
Faixa
char
2
Caracteres UNICODE
boolean
1
true e false
byte
1
Inteiro: -128 a 128
short
2
Inteiro: -32768 a 32768
int
4
Inteiro: - 2147483648 a 2147483647
long
8
Inteiro: - 9223372036854775808 a
9223372036854775808
float
4
Ponto Flutuante: +/-3.4E-38 a +/3.4E+38
double
8
Ponto flutuante: +/-1.7E-308 a
+/-1.7E+308
48
Programação
Orientada
Objeto
Declaração de variáveis em Java
• <Tipo> <Identificador>;
ou
• <Tipo> <Identificador1, Identificador2, ...>;
• Mostrar exemplos.
• int x;
49
Programação
Orientada
Objeto
Tipos primitivos em Java
Ponto flutuante
• Em JAVA existe duas categorias de primitivos capazes de lidar com
dados do tipo flutuante, o float , que armazena valores de precisão
simples e o double, de precisão dupla;
• São aceitos para qualquer plataforma, independendo do tipo de
sistema operacional.
50
Programação
Orientada
Objeto
Tipos primitivos em Java
• Como declarar uma variável do tipo float?
• float x = 24.2345645F; // ok, está correto.
• float y = 24.2345645; // erro de compilação.
• Como declarar uma variável do tipo double?
• double z = 24.2345645; // ok, está correto.
• double m = 24.2345645D; // ok, está correto.
51
Programação
Orientada
Objeto
Tipos primitivos em Java
• Diferente de outras linguagens de programação em que o boolean é
apenas um byte que pode receber os valores 0 e 1, em Java o
boolean é um tipo definido e os valores true e false existem e são
palavras reservadas.
• Como declarar uma variável booleana?
• boolean variavel01 = true; // ok, está correto.
• boolean variavel02 = 1; // ok, está incorreto.
52
Programação
Orientada
Objeto
Tipos primitivos em Java
• O tipo char armazena em uma variável apenas um único caracter
Unicode, que nada mais é do que um caracter de 16 bits.
• Exemplo:
• char a = ‘a’; /* declaração do caractere entre aspas simples */
53
Programação
Orientada
Objeto
Referências Bibliográficas
• ANSELMO, Fernando. Aplicando Lógica Orientada a Objeto
em Java. 3ª ed. Florianópolis: Visual Books, 2005.
• ARAUJO, Everton Coimbra. Orientação a Objetos com Java
simples, fácil e eficiente. Florianópolis. Visual Books, 2008.
• ASCÊNCIO, Ana Fernanda Gomes, CAMPOS, Edilene Aparecida
Veneruchi. Fundamentos da programação de computadores.
2ª ed. São Paulo: Pearson Prentice Hall, 2007.
• CASTELLANI, Marcelo. Certificação Sun Java Associado:
SCJA Exame CX-310-019 guia de viagem para passar no
exame. ALTA BOOKS, 2008.
• <http://techblog.desenvolvedores.net/2010/12/15/um-pouco-dehistoria/> Acessado em: 09.02.2014

Documentos relacionados