Escolar Documentos
Profissional Documentos
Cultura Documentos
Orientada a Objetos
Simples e Dinâmica.
É Orientada a Objetos - programam-se classes, e executam-se
instâncias dessas classes.
Baseia-se na Abstração, Encapsulamento e Herança, que permite: A
representatividade do mundo real.
A manipulação "segura" das informações.
O reaproveitamento de código.
É "Portável" (independente de plataforma):
O Java trabalha com programas em "linguagem de máquina" (bytecodes
- ou arquivos compilados) que podem ser lidos e interpretados por uma
"Máquina Virtual" (a JVM - Java Virtual Machine).
Para cada Plataforma (Windows, IOS, Linux, Android, etc) existe uma
JVM específica que pode ser instalada.
É uma linguagem fortemente tipada: nela as variáveis precisam ser
declaradas antes de serem utilizadas, com um tipo "bem definido" que
não poderá ser alterado.
É case-sensitive: verifica as diferenças entre caracteres maiúsculos e
minúsculos.
Os Arquivos Fonte (com o código) possuem a extensão ".java“
Os bytecodes possuem a extensão ".class“
A JVM contém um mecanismo de liberação automática de memória
(Garbage Collector - "Coletor de Lixo") que limpa automaticamente a
memória à medida que os objetos não estão mais sendo utilizados.
*Iremos focar na SE
CLASSES
OBJETOS
p1.nome = "José";
p1.idade = 62;
p2.nome = "Maria";
p2.idade = 57;
p3.nome = "Ana";
p3.idade = 25;
ATRIBUTOS
METODOS
O Método main
Tipo de Variáveis:
tipos primitivos:
Tipo Lógico:
boolean: guarda um valor lógico: true ou false
Tipo Alfanumérico:
char: guarda um valor de caractere: ex.: 't', ou 'x', ou '%' ...
Obs.: percebam a diferença entre o valor de uma "String" (que deve estar entre
aspas duplas) e o valor de um 'char' (que deve estar entre aspas simples)
String texto = "Outro texto qualquer..."; char c = '@';
Packages (pacotes)
Por exemplo,
package model;
- é o diretório "model" que fica na raiz do projeto Java.
package com.mysql.jdbc;
- é o diretório com/mysql/jdbc (três diretórios, um dentro do outro)
que fica na raiz do projeto Java.
Quando vamos utilizar, ao longo da classe, uma outra classe que está
em outro pacote, somos obrigados a importar aquela classe, utilizando a
palavra reservada "import", e indicando o caminho até ela:
import nome.do.pacote.Classe;
Caso se queira importar todas as classes de um pacote, ao invés de
importar classe por classe, colocamos o caractere * (asterisco).
import nome.do.pacote.*;
Promotion e Casting
Exemplo de promotion:
...
int f = 4;
long g = 5L + f; //promotion do valor de f para long
float h = 3.4F + g; //promotion do valor de g para float
double i = 2.5 + h; //promotion do valor de h para double
...
Obs.: promove-se o valor da variável, e não a variável.
Exemplo de casting:
...
double j = 2.5;
float k = 5.2F + (float)j;
long l = 3L + (long)k;
int m = 7 + (int)l;
short n = (short)m;
byte o = (byte)n;
...
Obs.: do mesmo modo que a promoção, o casting ocorre sobre o valor da
variável, e não sobre a variável.
ArrayList e Vector
Modificadores de acesso
Em Java, temos quatro modificadores de acesso:
public
private
protected
(default) – ou sem modificador
Encapsulamento
Exemplo de um encapsulamento:
Suponha a seguinte classe ainda não encapsulada:
public class Pessoa {
public String nome;
public int idade;
public double altura;
}
Assim, para se realizar o encapsulamento dessa classe, podese seguir os
seguintes passos:
Deixar os modificadores de acesso privados;
Criar os métodos Setters e Getters.
Sobrecarga de métodos
Métodos construtores
Herança
Sobrescrita de métodos
Trabalhando com Strings
Polimorfismo
O Polimorfismo, no Java, é a capacidade de um determinado elemento se
comportar de formas diferentes, dependendo de como este elemento é
declarado, ou como está sendo utilizado, a partir da sua codificação.
Vimos, por exemplo, que uma variável pode se comportar como uma variável
simples ou como um atributo:
public void setIdade(int idade) {
this.idade = idade;
}
Sobrescrita: métodos com assinaturas iguais. Este tipo de polimorfismo não pode
ocorrer em uma mesma Classe. No entanto ele ocorre entre Classes Mãe e Filha, ou
seja, se houver herança de Classes. Uma Classe Filha possui os métodos da Classe
Mãe. Neste caso, havendo na 1ª um método com mesma assinatura de outro método
existente na Classe Mãe, este último está sendo substituído pelo outro.
Polimorfismo de Classes:
Em O.O., uma Classe Mãe pode se comportar como uma de suas Classes
Filhas (a Classe que herda). Este tipo de polimorfismo aparece em métodos
que possuem um parâmetro que hora recebe um tipo de dado (um objeto), hora
recebe outro tipo de dado (outro objeto – diferente), mas cuja lógica geralmente
é igual para todos os casos:
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
...
}
Neste caso, o objeto “o” declarado como Object (que é a Classe Mãe de
todas as Classes) vai se comportar como os diversos elementos de um
Formulário, dependendo de qual foi acionado.
Modificadores de Comportamento
Interface
A Classe JOptionPane
Wrapper Classes
Entrada de Dados
Exceções