Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Universidade do Vale do Paraíba
Colégio Técnico Antônio Teixeira Fernandes
Disciplina POO-III
Material II-Bimestre
Fundamentos da linguagem Java
(Programação Orientada a Objetos)
site : www1.univap.br/~wagner
Prof. Responsável
Wagner Santos C. de Jesus
1
Conceitos Básicos de OOP
(Programação Orientada à Objetos)
Em Java temos conceitos para
trabalhar com as classes e os métodos
esse conceitos são chamado de
Encapsulamento, Polimorfismo e
Herança.
2
Uma classe vem a ser o modelo para um objeto ou seja
como vamos desenhar o mesmo. uma classe deve conter
métodos para descrever que tipo de ações esses objetos vão
tomar.
3
Usando Classes criadas pelo usuário.
(Programador)
• Para usar outra classe temos que cria-la e
depois instanciar essa mesma classe.
• Instancia : É quando pegamos uma classe e
deixamos essa mesma classe disponível
para o uso em nosso programa. Quando
instanciamos uma classe ou um objeto ele
pode ser conhecido em qualquer parte do
programa.
4
A sintaxe que permite ao programador
Java instanciar um objeto(Classe) é a
seguinte.
NomeClasse objeto = new NomeClasse();
O operador new é que permite que possamos
instancia uma determinada classe.
5
Conversão de tipos
Convertendo um número com casas
decimais em uma string. Método
toString().
double x = 4.55;
Double objreal = new Double(x);
String a = objreal.toString();
Obs : Para converter um inteiro em String usa-se a classe
Integer() analogamente.
6
Convertendo tipo de dado String
em Número(int,float,double).
Convertendo String para int, intValue().
int i = Integer.valueOf(String variavel).intValue();
Convertendo String para float, floatValue().
float f = Float.valueOf(String variavel).floatValue();
Convertendo String para double, doubleValue().
double f = Double.valueOf(String variavel).DoubleValue();
7
Criação de um método
Um método vem a ser a maneira que usamos para identificar o
comportamento de uma classe. Em uma classe poderemos
encontrar vários métodos.
Os métodos são equivalentes as funções em outras linguagens.
Estrutura de um método.
public tipo nome-método ( parametros ) {
:
: <Código Programa>
return <valor>;
}
8
Exemplo da Utilização de um método.
class exemp1 {
public boolean parimpar(int n) {
if( n%2 == 0)
return true;
else
return false;
}
public static void main(String args[]) {
int a = 5;
exemp1 numero = new exemp1();
System.out.println(numero.parimpar(a));
}
}
9
Teoria da Programação Orientada a Objetos
Encapsulamento : Vem a ser quando um objeto mantém sua
características privadas para outros objetos; Contendo em seu
interior os dados enviados por intermédio de seus métodos.
Exemplo : Carro Onibus = new Carro();
10
Implementação de uma classe
public class Encap{
private String nome;
private String cidade;
private double salario;
public void setNome(String vnome){
this.nome = vnome;
}
public void setCidade(String vcidade){
this.cidade = vcidade;
}
public void setSalario(double vsalario){
this.salario = vsalario;
}
public String getNome(){
return this.nome;
}
public String getcidade(){
return this.cidade;
}
public double getsalario(){
return this.salario;
}
11
}
Usando a classe Encap
public static void main(String args[]){
Encap objencap = new Encap();
objencap.setNome(“Ana Maria da Silva");
System.out.println(objencap.getNome());
}
12
Modificando um atributo
class Dadospessoais{
String nome,endereco;
Dadospessoais(String nome, String endereco){
this.nome = nome;
this.endereco=endereco;
}
Dadospessoais() {
nome = "Jose";
endereco = "Rua Barao";
}
}
class criadados {
public static void main(String args[]){
Dadospessoais p = new Dadospessoais();
p.nome = "Fatima Bernardes";
System.out.println(p.nome+" "+p.endereco);
}
}
13
Polimorfismo : Vem a ser quando podemos
passar parâmetros de tipos diferentes para
mesmo método.
14
Exemplo :
class exemp1 {
public boolean parimpar(int n) {
if( n%2 == 0)
return true;
else
return false;
}
public boolean parimpar(double n) {
if( n%2 == 0)
return true;
else
return false;
}
public static void main(String args[]) {
double a = 5.5;
exemp1 numero = new exemp1();
System.out.println(numero.parimpar(a));
}
}
15
Operador this
É usado quando se precisa usar a referência
do objeto da própria classe.
Exemplo : this.propriedade = dados;
this.metodos();
16
Exemplo :
class exemp1 {
public boolean parimpar(int n) {
if( n%2 == 0)
return true;
else
return false;
}
public boolean parimpar(double n) {
boolean v = this.parimpar(8);
System.out.println(v);
if( n%2 == 0)
return true;
else
return false;
}
public static void main(String args[]) {
double a = 5.5;
exemp1 numero = new exemp1();
System.out.println(numero.parimpar(a));
}
}
17
Criando uma nova classe a partir de outra
classe.
Pode ser criada também uma classe principal nela
estará o método main(). E depois criada uma
outra classe somente com os métodos necessários
para chamada da execução do programa.
18
Exemplo :
class exemp2 {
public static void main(String args[]) {
numeros conta = new numeros();
System.out.println( conta.soma(3,3) );
System.out.println( conta.sub(3,2) );
}
}
class numeros {
public int soma(int n, int y) {
int x = n + y;
return x;
}
public int sub(int n, int y) {
int x = n - y;
return x;
}
}
19
Herança : É quando um objeto
da classe aproveita características
de outro. Nesse caso ao invés de
instanciarmos a classe a qual esse
método pertence usamos o
operados extends.
20
extends
Instrução do Java que permite criar o que
vem a ser uma herança.
Exemplo :
class progsub extends mensagem {
:
:
}
21
class mensagem{
mensagem(String msg) {
System.out.println(msg);
}
}
class progsub extends mensagem {
progsub(String a) {
super(a);
...........................
}
public static void main(String args[]){
progsub p = new progsub("Ola Mundo");
}
}
22
class matematica {
public int fator (int n){
int fat = 1;
for(int i=1;i<=n;i++)
fat = fat * i;
return fat;
}
public boolean primos (int num ) {
// ...... Instruções
return true;
}
}
23
class mistura extends matematica {
public static void main(String args[]){
mistura objheranca = new mistura();
int x = 3;
int resultCalc = objheranca.fator(x);
System.out.println(resultCalc);
}
}
24
Encapsulamento
Vem a ser uma estrutura para proteger
as propriedades em uma classe, podendo
somente acessar as mesma por intermédio
de métodos e não diretamente.
25
Encapsulamento
Permite realizar o acesso aos métodos da
classe por intermédio apenas dos métodos,
isso torna-se mais seguro porque as
propriedades serão privadas.
set(dado)
get()
Processamento
26
Encapsulamento : Entrada
Classe
setNome(“Maria”)
setEndereco(“Barão, 34”)
Nome
Endereco
setNome()
setEndereco()
27
Encapsulamento : Saída
getNome() => Maria
Classe
getEndereco() => Barão,34
Nome
Endereco
getNome()
getEndereco()
28
Exemplo : Encapsulamenento
public class Encapsula {
private int p = 1;
public void setPotencia(int base,int expoente)
{
int r = 1;
for(int i=1;i<=expoente;i++)
r*=base;
this.p = r;
}
public int getPotencia(){
return this.p;
}
public static void main(String args[]){
Encapsula obj = new Encapsula();
obj.setPotencia(3,2);
System.out.println(obj.getPotencia());
}
}
29
try-catch: Manipulador de
Exceção
try {
//bloco de código
} catch (Excecaotipo1 e) {
// Manipulador para Exceção1
} catch (ExcecaoTipo2 e) {
// Manipulador para Exceção2
throw(e); }
finally {
// Bloco de Instruções
}
30
Criando uma classe para
Encapsulamento
Simbologia de classe
Encap
- String nome;
- String cidade;
- double salario;
+ void setNome(String vnome)
+ void setCidade(String vcidade)
+ void setSalario(double vsalario)
-String getNome()
-String getcidade()
-double getsalario()
Nome da classe
Propriedades
Métodos
31
Exemplo
class Extry1 {
public static void main(String args[]){
try {
int d = 0;
int a = 42 / d;
} catch (ArithmeticException e) {
System.out.println("ERRO: Divisao por Zero ......");
}
}
}
32
Várias Cláusulas catch
class Extry1 {
public static void main(String args[]){
try {
int d = 1;
int a = 42 / d;
System.out.println(a);
System.out.println(args[0]);
} catch (ArithmeticException e) {
System.out.println("ERRO: Divisao por Zero ......");
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println("ERRO:Estouro no indice do array");
}
}
}
33
Throw : Lança explicitamente uma exceção.
class Extry2 {
static void demoproc() {
try {
throw new NullPointerException("demo");
} catch( NullPointerException e) {
System.out.println("Capturada no método demoproc");
throw e;
}
}
public static void main(String args[]){
try {
demoproc();
}
catch ( NullPointerException e) {
System.out.println("recapturada: "+e);
}
}
}
34
Tratando uma exceção qualquer
class Extry3 {
public static void main(String args[]){
try {
System.out.println(args[0]);
}
catch (Exception e) {
System.out.println("Ocorreu um Erro : "+e);
}
}
}
35
Criação de Vetores (Arrays)
Exemplo :
String vet[] = { "Maria","Paula","Roberta","Ana Lucia"};
Ou
String let[] = new String[4];
36
Exemplo da criação de um vetor de Inteiros e Reais.
int vet[] = new int[3];
double vet1[] = new double[4];
ou
double vet1[] = new double[4][3];
37
Programa Exemplo :
class exemp3 {
public static void main(String args[]) {
double v1[] = { 5,8,9.1,10.5,9.75 };
for(int i=0;i<=4;i++){
System.out.println(v1[i]);
}
}
}
38
Métodos de Manipulação de Números
Para calcularmos valores manipularmos
números de uma forma matemática temos uma
classe em Java específica para esse tipo de
tarefa, essa classe é chamada de Math (Cujo
significado é Matemática).
39
Estrutura da Classe Math
Classe
Metodo1
......
Metodo4
Propriedades
......
Metodo2
......
Metodo3
........
40
Sintaxe geral :
<Variável double> = Math.método( < Parâmetros > );
41
Exemplos dos método da classe Math.
double a;
a = Math.PI;
Retorna com valor de pi = 3.141592......
42
sqrt() - Retonar a raiz quadrada de um número
passado como parâmetro.
Exemplo:
double x = Math.sqrt(49);
System.out.println(x);
Retonar para x como 7 que o valor da raiz de
49.
43
abs() - Retorna o valor absoluto de um
número negativo dados -3 deverá ser 3.
Exemplo:
double x = Math.abs(-4);
System.out.println(x);
Retorna o número 4 positivo.
44
random() - Retorna um número aleatório no
intervalo entre 0 e 1.
Exemplo:
double x = Math.random();
System.out.println(x);
45
rint() - Retorna com o número arredondado
para inteiro.
Exemplo:
double x = Math.rint(4.3);
System.out.println(x);
Retorna para a variável x com o valor 4.
46
log() - Retorna o logaritmo neperiano de um
número passado.
Exemplo:
double x = Math.log(100);
System.out.println(x);
Retorna o número aproximadamente 4.60 na
base e = 2.718....
47
pow() - Retonar o valor de uma base elevado
a um determinado expoente.
double x = Math.pow(3,2);
System.out.println(x);
Retorna o 9 para x.
48
exp() - Retonar o exponencial de um número
dado.
double x = Math.exp(1);
System.out.println(x);
Retorna o valor de e = 2.718.... elevado a 1.
49
sin() - Retorna o valor do seno em graus para
um determinado ângulo.
Exemplo:
double x = Math.sin(30 * Math.PI/180);
System.out.println(x);
Retorna o valor 0,5 que seno 30º .
50
cos() - Retorna o valor do cosseno em graus
para um determinado ângulo.
Exemplo:
double x = Math.cos(30 * Math.PI/180);
System.out.println(x);
Retorna o valor 0,8 que cosseno 30º .
51
tan() - Retorna o valor do tangente em graus
para um determinado ângulo.
Exemplo:
double x = Math.tan(30 * Math.PI/180);
System.out.println(x);
Retorna o valor 0,57 que tangente 30º .
52
max() - Retorna o maior valor entre dois
valore passados com parâmetros.
Exemplo:
double x = Math.max(8,20);
System.out.println(x);
Retorna 20 que é o maior valor.
53
min() - retorna o menor valor entre dois
valores passados com parâmetros.
Exemplo:
double x = Math.min(8,20);
System.out.println(x);
Retorna 8 que é o menor valor.
54
Atenção : Tome cuidado os
métodos max() e min() retornam
sempre valores analisando dois
argumentos, mais do que dois
argumento não podemos passar
como parâmetros para esses
métodos.
55
Formatando valores Numéricos
DecimalFormat : Classe que permite realizar
a formatação de números com suas respectivas
casas decimais.
Exemplo : Instância
DecimalFormat meuFormato = new DecimalFormat();
56
import java.text.DecimalFormat;
Para
usar
a
classe
DecimalFormat
é
necessário
importar o pacote acima. Que
deverá ser colocada no inicio do
programa antes da declaração da
classe onde será implementado.
57
applyPattern() : Método que realiza a formatação
de casas decimais e valores.
Exemplo :
DecimalFormat meuFormato = new DecimalFormat();
meuFormato.applyPattern("R$ ##0,000.00;R$ (##0,000.00)");
58
format() – Determina a saída formatada para o
número dado do tipo String.
Exemplo:
String ssaldo = “1000,34”;
DecimalFormat meuFormato = new DecimalFormat();
meuFormato.applyPattern("R$ ##0,000.00;R$ (##0,000.00)");
ssaldo = meuFormato.format( Double.parseDouble(ssaldo) );
59
Métodos de Manipulação de Strings.
São métodos capazes de gerar operações com
strings fazendo com que os programa fiquem
mais avançados e flexíveis.
60
Sintaxe geral dos métodos.
String <variável> = <String>.<método>(<parametros> );
Ou
int/boolean <variável> = <String>.<método>(<parametros> );
61
equals() - Retorna verdadeiro ou falso
mediante duas strings sendo comparadas.
Exemplo :
String a = "Abacaxi";
boolean resul = a.equals("Morando");
O valor booleano retornado para result será
falso. (false) as strings não são iguais.
62
equalsIgnoreCase():
compara se duas string são iguais independente de serem
maiúsculas ou minúsculas.
Exemplo :
String nome = "maria";
String nome2 = "MARIA";
if (nome.equalsIgnoreCase(nome2) ) System.out.println("Iguais");
else System.out.println("Diferenetes");
63
startsWith(): Retorna verdadeiro se a cadeia ou um
caractere estiver no inicio da string.
Exemplo :
String S = "Tchak estava na cozinha ....";
boolean bld = S.startsWith("Tchak");
System.out.println(bld);
64
endsWith(): Retorna verdadeiro se a cadeia ou um
caractere estiver no fim da string.
Exemplo :
String nome = "maria";
boolean bl2 = nome.endsWith(“a”);
System.out.println(bl2);
65
isDigit() - Retorna verdadeiro se caracter
passado como argumento for um número.
Exemplo :
boolean d = Character.isDigit('1');
Retorna true para a variável d.
Obs : Um char em Java deve ser declarado
com apóstrofos (') e não aspas (").
66
charAt() - Retorna com um caracter da string
mediante a informação da posição desse
elemento.
Exemplo :
String palavra = "Morango";
char y = palavra.charAt(2);
Retorna o caracter r que está na posição 2 da
string, considerando a partir do zero.
67
replace() - Substitui na string um determinado
caracter, mediante a informação do mesmo.
Exemplo :
String a = "Marta".replace('a','o');
Retorna com a String Morto para a variável a.
68
length() - Retorna o numero de elementos de
uma string.
Exemplo :
String texto = "Laranja";
int x = texto.length();
Retorna com o número 7 que vem a ser o
número de caracteres da palavra "Laranja".
Obs : Se for um vetor o método length deve
ser escrito sem os simbolos de ().
69
substring() - Retorna com uma parte da string
mediante ao argumento numérico dado.
Exemplo :
String s = "Morango";
String l = s.substring(3,6);
Irá retornar a string ang retirando os três
primeiro caracteres e considerando os demais
até a sexta posição.
70
toUpperCase() - converte um string de
minúscula para maiúscula.
Exemplo :
String s = "morango";
String teste = s.toUpperCase();
O resultado da variável teste será
MORANGO.
71
toLowerCase() - converte um string de
maiúscula para minúscula.
Exemplo :
String s = "MORANGO";
String teste = s.toLowerCase();
O resultado da variável teste será morango.
72
trim() - Retira os espaços em branco de uma
String.
Exemplo :
String b = "
Lixo
Strimg x = b.trim();
";
O resultado para a variável x será "Lixo".
73
indexOf() - Retornar em que posição
encontra-se a primeira ocorrência de uma
string em uma outra string. Caso não encontre
a string procurado ele irá retornar -1.
Exemplo :
String lista = "Constiuição";
int x = lista.indexOf("s");
O resultado será três tomando como base de
referencia a posição (0).
74
lastindexOf() - Retorna em que posição
encontra-se a ultima ocorrência de uma string
em uma outra string.
Exemplo :
int y = "Constiuição".lastindexOf("i");
Irá retorna 7 que é o número da posição da
ultima ocorrência da letra "i” na String.
75