O documento apresenta os conceitos fundamentais da linguagem Java, incluindo classes, objetos, métodos, herança e agregação. É um slide introdutório para um curso de Java orientado a objetos.
1. Linguagem Java
*Slides do primeiro módulo do Curso Java Orientado a Objeto da 3Way Networks
Todos direitos reservados a 3Way Networks
2. Java Orientado a Objetos
Aula 01
– Introdução
– Classes
– Instancia
– Referencia de Objetos
– Métodos e atributos de classe e estáticos
– Herança e Agregação
Páginas: 6 à 19
Todos direitos reservados a 3Way Networks
3. Introdução à tecnologia JAVA
1 – O que é Java?
Java é uma tecnologia criada em 1991 por James Gosling da Sun
Microsystens com a motivação de criar uma linguagem
independente de plataforma. ou seja, poderia ser incorporada a
diversos produtos eletroeletrônicos como: torradeira e
refrigeradores.
Aplicações da tecnologia Java normalmente são programas que
são executados em qualquer máquina onde a Java Runtime
Environment (JRE ) está instalado.
Todos direitos reservados a 3Way Networks
4. A JRE é fornecida juntamente com o SDK (Software Development
Kit) que contém todas as ferramentas para você começar o seu
desenvolvimento em Java, isto é, contém um conjunto completo
de bibliotecas default para tecnologia Java. Você pode encontrar
todas as versões e pacotes do SDK na página
http://www.oracle.com/technetwork/java/index.html.
O ambiente de desenvolvimento da tecnologia java lhe oferece
um grande conjunto de ferramentas:
• Um compilador (javac);
• Um interpretador (java);
• Um gerador de documentação (javadoc) e assim por diante.
Introdução à tecnologia JAVA
Todos direitos reservados a 3Way Networks
5. A plataforma de tecnologia Java pode ser sub-divida nos
seguintes grupos:
• JSE ( Java Standart Edition ) - Uma rica plataforma que oferece
um completo ambiente para o desenvolvimento de aplicações
para clientes e servidores. É a base da tecnologia JEE.
• JEE ( Java Enterprise Edition ) - Simplifica o desenvolvimento
de aplicações empresariais e multi-camadas.
• JME ( Java Micro Edition ) - Voltada para aplicações que rodam
em pequenos dispositivos como celulares, PDAs, smart cards, etc
• Java Web Services – Tecnologia baseada em XML, sendo
usada para troca de informações na rede.
• Java FX – é uma plataforma de software multimídia
desenvolvida para a criação e disponibilização de aplicaões ricas
para Internet e que pode ser executada em vários dispositivos
diferentes.
Introdução à tecnologia JAVA
Todos direitos reservados a 3Way Networks
6. Algumas características do Java:
- A Máquina Virtual Java ( JVM – Java Virtual Machine )
Uma máquina imaginária que é implementada através de um
software emulador em uma máquina real e que interpreta os
bytecodes.
- Bytecodes
Programas Java não são traduzidos para a linguagem de
máquina e sim para uma linguagem intermediária chamada de
bytecodes.
Qualquer plataforma com um interpretador java é capaz de
executar o programa java compilado independente de qual
plataforma foi compilada.
Introdução à tecnologia JAVA
Todos direitos reservados a 3Way Networks
7. - Garbage Collection ( Coletor de lixo )
Responsável por liberar qualquer memória que não está sendo
mais usada. Isto acontece automaticamente durante a vigência do
programa Java.
A GC elimina toda a responsabilidade de gerência de memória do
desenvolvedor de uma aplicação, ou seja, o desenvolvedor se
livra da necessidade de ter que desalocar memória.
- JRE
Responsável por rodar códigos compilados para a JVM, executar
classes carregadas ( através do Class Loader ) e verificar o
código (através do verificador de bytecode).
Introdução à tecnologia JAVA
Todos direitos reservados a 3Way Networks
8. O primeiro passo para a criação de um programa Java é escrever
os programas em um editor de texto.
Após o programa Java ter sido criado e salvo, compile o
programa utilizando o Compilador Java. A saída desse processo
é um arquivo de bytecode com extensão .class.
O arquivo .class é então lido pelo Interpretador Java que converte
os bytecodes em linguagem de máquina do computador que se
está usando
Todos direitos reservados a 3Way Networks
11. Definindo Java
1ª Definição: Uma linguagem simples, orientada à objeto,
distribuída, interpretada, compilada, robusta, segura,
independente de arquitetura, portável, de alto desempenho,
multitarefa e dinâmica.
2ª Definição: Um programa Java normalmente é uma coleção de
Objetos conversando com outros Objetos, invocando métodos
uns dos outros. Cada Objeto é de um certo tipo, e esse tipo é
definido por uma classe ou uma interface
Todos direitos reservados a 3Way Networks
12. Aplicações mais comuns em Java
– Applets – Programas Java que rodam no Navegador Internet
da máquina do Cliente
– Servlets – Programas Java que rodam no servidor Internet
atendendo requisições
– JSP – Páginas contendo scripts Java que quando carregadas
irão gerar Servlets
– EJB – Objetos responsáveis por regras de negócios no
servidor
– JPA – Persistência de dados com Java
Todos direitos reservados a 3Way Networks
13. Versões do Java
Java 1.0 e 1.1 foram as primeiras
A versão 1.2 trouxe um aumento significativo da API e
passaram a chamar o Java de “Java2”, por isso se usava J2SE,
J2EE, J2ME
Depois vieram o Java2 1.3 e 1.4
O Java 1.5 passou a ser chamado simplesmente de Java 5
Até a versão 1.4 existia uma terceira numeração (1.3.1, 1.4.1,
1.4.2)
A partir do Java 5 existem updates
A última versão do Java é a 6, de 2006
Todos direitos reservados a 3Way Networks
15. Bases da Tecnologia Java
Programação Orientada a Objetos (POO) refere-se ao conceito
de objetos como elemento básico das classes. O mundo físico é
constituído por objetos tais como carro, leão, pessoa, dentre
outros. Estes objetos são caracterizados pelas suas propriedades
(ou atributos) e seus comportamentos.
Objeto Propriedades Comportamento
Carro
cor acelerar
ano frear
modelo abrir a porta
nome
Leão
peso rugir
cor dormir
apetite ( faminto ou saciado) caçar
Todos direitos reservados a 3Way Networks
16. Classes
A classe é a estrutura fundamental na Programação Orientada a
Objetos. Ela consiste em dois tipos de elementos que são
chamados atributos (ou propriedades) e métodos.
Usando a notação de Classe da UML ( Unified Modeling
Language ), podemos descrever graficamente o exemplo de uma
classe Carro.
Todos direitos reservados a 3Way Networks
17.
18. Notação UML para Classe
Todos direitos reservados a 3Way Networks
20. Objetos
Um objeto é uma instância de uma classe. Ele é construído
usando-se a classe, da mesma maneira que usamos uma “planta
baixa” para construir uma casa, é uma entidade real da abstração
que a classe representa; usando o exemplo do carro, uma
instância representa um veículo criado a partir do projeto dos
engenheiros mecânicos. Um objeto deve ser explicitamente
criado a partir de uma classe antes que possa ser utilizado em um
programa.
Todos direitos reservados a 3Way Networks
21. Instância de Classes
Em Java, Objetos são manipulados através de referências de
objetos (ou simplesmente referência, conhecido também como
ponteiros ). O processo de criação de um Objeto normalmente
envolve os seguintes passos:
1. Declaração de uma variável referência
Isto corresponde a declarar uma variável de uma classe
apropriada para armazenar a referência ao Objeto. Variável de
tipo Objeto não guarda valor, somente referencia.
Todos direitos reservados a 3Way Networks
22. 2. Criação do Objeto
Para criar o objeto fazemos uso do operador new, juntamente
com a chamada do construtor da classe, assim criamos uma
instância da classe.
A declaração e instanciação também podem ser combinadas:
Instância de Classes
Todos direitos reservados a 3Way Networks
23. Notação UML para Objetos
Todos direitos reservados a 3Way Networks
27. Método
• É uma parte separada do código que pode ser chamada pelo
programa principal;
• Pode ou não retornar valor;
• Pode aceitar tantos argumentos quantos forem necessários;
• Após o fim da execução de um método, o fluxo de controle é
retornado a quem o chamou;
Porque usar métodos?
• Decomposição – É a chave para a solução de problemas
• Métodos resolve uma parte específica do problema
• Separa o problema em partes menores e reaproveitável
Todos direitos reservados a 3Way Networks
28.
29. Invocação de Métodos
Em Java, um método é invocado usando o operador binário ponto
“.” devendo especificar a mensagem completa: o objeto que é o
recebedor da mensagem, o método a ser invocado e os
argumentos para o método se houver.
Para chamar um método a partir de um objeto, usa-se a seguinte
sintaxe:
nomeDoObjeto.nomeDoMétodo([argumentos separados por ',']);
Todos direitos reservados a 3Way Networks
30. Envio de Argumentos para Métodos
Há duas formas de enviar argumentos para um método:
01 – Passagem de Parâmetro por valor
O método faz uma cópia do valor do argumento passado para o
método.
02 – Passagem de Parâmetro por Referência
O método faz uma cópia da referência do argumento passado.
Todos direitos reservados a 3Way Networks
34. Membros estáticos
• Métodos que podem ser invocados sem que um objeto tenha
sido instanciado pela classe (sem invocar a palavra chave new)
• Pertencem à classe como um todo e não a uma instância (ou
objeto) específico da classe
• São diferenciados dos métodos de instância pela declaração da
palavra chave static na definição do método
NomeClasse.nomeMetodoEstatico(argumentos);
Integer.parseInt(“10”);
Todos direitos reservados a 3Way Networks
38. Herança
- Relacionamentos do tipo é um
Há dois mecanismos fundamentais afim de se construir novas
classes a partir de classes existentes: herança e agregação. Faz
todo sentido construir nossa classe Carro herdando todas as
características de uma classe Veículo já definida, uma vez que
um Carro é um Veículo.
Todos direitos reservados a 3Way Networks
40. Agregação
- Relacionamento do tipo tem um
Java implementa o conceito de agregação de objetos pelo uso de
referência, uma vez que objetos não podem conter outros objetos
explicitamente. Eles somente podem conter variáveis de tipos
primitivos e referências a outros objetos.
Todos direitos reservados a 3Way Networks
41.
42. Princípios do Java
• Tudo em Java deve ser posto dentro de uma classe;
• Há dois tipos de valores em Java: valores atômicos de tipos
primitivos e valores de referência;
• Referências indicam objetos que são criados a partir de uma
classe;
• Objetos só podem ser manipulados via referência;
• Objetos em Java não podem conter outros Objetos, ele somente
tem referências para outros objetos;
•Remoção de objetos é sugerida pelo sistema de tempo de
execução (runtime).
Todos direitos reservados a 3Way Networks
43. Estrutura de Arquivos Fonte em Java
// Nome do Arquivo: Aplicacao.java
// PARTE 1: (Opcional)
// Nome Pacote
package com.nomeempresa.projeto.nomepacote;
// PARTE 2: Pacotes usados
import java.util.*;
// PARTE 3: Definições de Classes e interfaces
public class Aplicacao{}
interface In{}
// Fim do Arquivo
Todos direitos reservados a 3Way Networks