Vous êtes sur la page 1sur 78

Universidade do Vale do Paraba Colgio Tcnico Antnio Teixeira Fernandes Disciplina POO-III

Material II-Bimestre Fundamentos da linguagem Java (Programao Orientada a Objetos)


site : www1.univap.br/~wagner

Prof. Responsvel Wagner Santos C. de Jesus

Conceitos Bsicos de OOP (Programao Orientada Objetos)

Em Java temos conceitos para trabalhar com as classes e os mtodos esse conceitos so chamado de Encapsulamento, Polimorfismo e Herana.

Uma classe vem a ser o modelo para um objeto ou seja como vamos desenhar o mesmo. uma classe deve conter mtodos para descrever que tipo de aes esses objetos vo tomar.

Usando Classes criadas pelo usurio. (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 disponvel para o uso em nosso programa. Quando instanciamos uma classe ou um objeto ele pode ser conhecido em qualquer parte do programa.

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.

Usando Entrada de dados em modo texto.(Classe KeyBoard) Para criar em Java a possibilidade de fazermos uma entrada de dados via tela texto foi confeccionado pelo professor uma classe chamada de KeyBoard. Essa classe permite entrar com os trs tipos bsicos de dados. (String, double e int.)

Usando o pacote KeyBoard em um programa.(Instanciando).


Os mtodos petencentes a classe KeyBoard so :
KeyBoard.KeyString(); - Permite a digitao de Strings pelo teclado. KeyBoard.KeyDouble(); - Permite a digitao de doubles pelo teclado. KeyBoard.KeyInt(); - Permite a digitao de inteiros pelo teclado.

Exemplo :
String a = KeyBoard.KeyString(); //Entrada String double x = KeyBoard.KeyDouble(); // Entrada de double int x = KeyBoard.KeyBoardInt(); // Entrada com Inteiro

Converso de tipos
Convertendo um nmero com casas decimais em uma string. Mtodo 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.

Convertendo tipo de dado String em Nmero(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();

Criao de um mtodo
Um mtodo vem a ser a maneira que usamos para identificar o comportamento de uma classe. Em uma classe poderemos encontrar vrios mtodos. Os mtodos so equivalentes as funes em outras linguagens.
Estrutura de um mtodo. public tipo nome-mtodo ( parametros ) { : : <Cdigo Programa> return <valor>; }

Exemplo da Utilizao de um mtodo.


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)); } }

Teoria da Programao Orientada a Objetos


Encapsulamento : Vem a ser quando o cdigo dos mtodos usados por uma classe no precisam aparecer explicitamente no programa. Exemplo : String a = KeyBoard.KeyString();

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); } }

Polimorfismo : Vem a ser quando podemos passar parmetros de tipos diferentes para mesmo mtodo.

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)); } }

Operador this
usado quando se precisa usar a referncia do objeto da prpria classe. Exemplo : this.propriedade = dados; this.metodos();

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)); } }

Criando uma nova classe a partir de outra classe.

Pode ser criada tambm uma classe principal nela estar o mtodo main(). E depois criada uma outra classe somente com os mtodos necessrios para chamada da execuo do programa.

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; }

Herana : quando um mtodo aproveita caractersticas de outro. Nesse caso ao invs de instanciarmos a classe a qual esse mtodo pertence usamos o operados extends.

extends
Instruo do Java que permite criar o que vem a ser uma herana.

Exemplo : class progsub extends mensagem { : : }

class mensagem{ mensagem(String msg) { System.out.println(msg); } } class progsub extends mensagem { progsub(String a) { super(a); ........................... } public static void main(String args[]){ mensagem p = new mensagem("Ola Mundo"); } }

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 ) { // ...... Instrues return true; }

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); } }

Encapsulamento
Vem a ser uma estrutura para proteger as propriedades em uma classe, podendo somente acessar as mesma por intermdio de mtodos e no diretamente.

Encapsulamento
Permite realizar o acesso aos mtodos da classe por intermdio apenas dos mtodos, isso torna-se mais seguro porque as propriedades sero privadas.
set(dado) get()

Processamento

Encapsulamento : Entrada
Classe setNome(Maria) setEndereco(Baro, 34)

Nome

Endereco

setNome()
setEndereco()

Encapsulamento : Sada
Classe getNome() => Maria getEndereco() => Baro,34

Nome

Endereco

getNome()
getEndereco()

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()); } }

try-catch: Manipulador de Exceo


try { //bloco de cdigo } catch (Excecaotipo1 e) { // Manipulador para Exceo1 } catch (ExcecaoTipo2 e) { // Manipulador para Exceo2 throw(e); } finally { // Bloco de Instrues }

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

Mtodos

Implementao 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; } }

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()); }

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 ......"); } } }

Vrias Clusulas 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"); } } }

Throw : Lana explicitamente uma exceo.


class Extry2 { static void demoproc() { try { throw new NullPointerException("demo"); } catch( NullPointerException e) { System.out.println("Capturada no mtodo demoproc"); throw e; } } public static void main(String args[]){ try { demoproc(); } catch ( NullPointerException e) { System.out.println("recapturada: "+e); } } }

Tratando uma exceo 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); } } }

Criao de Vetores (Arrays)


Exemplo :
String vet[] = { "Maria","Paula","Roberta","Ana Lucia"}; Ou String let[] = new String[4];

Exemplo da criao de um vetor de Inteiros e Reais.

int vet[] = new int[3]; double vet1[] = new double[4]; ou double vet1[] = new double[4][3];

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]);
}

}
}

Mtodos de Manipulao de Nmeros

Para calcularmos valores manipularmos nmeros de uma forma matemtica temos uma classe em Java especfica para esse tipo de tarefa, essa classe chamada de Math (Cujo significado Matemtica).

Estrutura da Classe Math


Classe Metodo1

...... Metodo4
......
Propriedades

Metodo2
......

Metodo3
........

Sintaxe geral :
<Varivel double> = Math.mtodo( < Parmetros > );

Exemplos dos mtodo da classe Math.

double a; a = Math.PI; Retorna com valor de pi = 3.141592......

sqrt() - Retonar a raiz quadrada de um nmero passado como parmetro. Exemplo: double x = Math.sqrt(49); System.out.println(x); Retonar para x como 7 que o valor da raiz de 49.

abs() - Retorna o valor absoluto de um nmero negativo dados -3 dever ser 3. Exemplo: double x = Math.abs(-4); System.out.println(x);

Retorna o nmero 4 positivo.

random() - Retorna um nmero aleatrio no intervalo entre 0 e 1. Exemplo: double x = Math.random(); System.out.println(x);

rint() - Retorna com o nmero arredondado para inteiro. Exemplo: double x = Math.rint(4.3); System.out.println(x); Retorna para a varivel x com o valor 4.

log() - Retorna o logaritmo neperiano de um nmero passado. Exemplo: double x = Math.log(100); System.out.println(x); Retorna o nmero aproximadamente 4.60 na base e = 2.718....

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.

exp() - Retonar o exponencial de um nmero dado. double x = Math.exp(1); System.out.println(x); Retorna o valor de e = 2.718.... elevado a 1.

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 .

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 .

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 .

max() - Retorna o maior valor entre dois valore passados com parmetros. Exemplo: double x = Math.max(8,20); System.out.println(x); Retorna 20 que o maior valor.

min() - retorna o menor valor entre dois valores passados com parmetros. Exemplo: double x = Math.min(8,20); System.out.println(x);

Retorna 8 que o menor valor.

Ateno : Tome cuidado os mtodos max() e min() retornam sempre valores analisando dois argumentos, mais do que dois argumento no podemos passar como parmetros para esses mtodos.

Formatando valores Numricos DecimalFormat : Classe que permite realizar a formatao de nmeros com suas respectivas casas decimais. Exemplo : Instncia
DecimalFormat meuFormato = new DecimalFormat();

import java.text.DecimalFormat; Para usar a classe DecimalFormat necessrio importar o pacote acima. Que dever ser colocada no inicio do programa antes da declarao da classe onde ser implementado.

applyPattern() : Mtodo que realiza a formatao


de casas decimais e valores.

Exemplo :
DecimalFormat meuFormato = new DecimalFormat(); meuFormato.applyPattern("R$ ##0,000.00;R$ (##0,000.00)");

format() Determina a sada formatada para o


nmero 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) );

Mtodos de Manipulao de Strings.

So mtodos capazes de gerar operaes com strings fazendo com que os programa fiquem mais avanados e flexveis.

Sintaxe geral dos mtodos.

String <varivel> = <String>.<mtodo>(<parametros> ); Ou int/boolean <varivel> = <String>.<mtodo>(<parametros> );

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 no so iguais.

equalsIgnoreCase(): compara se duas string so iguais independente de serem maisculas ou minsculas.

Exemplo :
String nome = "maria"; String nome2 = "MARIA";
if (nome.equalsIgnoreCase(nome2) ) System.out.println("Iguais"); else System.out.println("Diferenetes");

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);

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);

isDigit() - Retorna verdadeiro se caracter passado como argumento for um nmero. Exemplo :

boolean d = Character.isDigit('1');
Retorna true para a varivel d. Obs : Um char em Java deve ser declarado com apstrofos (') e no aspas (").

charAt() - Retorna com um caracter da string mediante a informao da posio desse elemento.
Exemplo :

String palavra = "Morango"; char y = palavra.charAt(2);


Retorna o caracter r que est na posio 2 da string, considerando a partir do zero.

replace() - Substitui na string um determinado caracter, mediante a informao do mesmo. Exemplo : String a = "Marta".replace('a','o');

Retorna com a String Morto para a varivel a.

length() - Retorna o numero de elementos de uma string. Exemplo : String texto = "Laranja"; int x = texto.length();
Retorna com o nmero 7 que vem a ser o nmero de caracteres da palavra "Laranja". Obs : Se for um vetor o mtodo length deve ser escrito sem os simbolos de ().

substring() - Retorna com uma parte da string mediante ao argumento numrico dado. Exemplo : String s = "Morango"; String l = s.substring(3,6); Ir retornar a string ang retirando os trs primeiro caracteres e considerando os demais at a sexta posio.

toUpperCase() - converte um string de minscula para maiscula. Exemplo : String s = "morango"; String teste = s.toUpperCase();

O resultado da varivel teste ser MORANGO.

toLowerCase() - converte um string de maiscula para minscula. Exemplo : String s = "MORANGO"; String teste = s.toLowerCase(); O resultado da varivel teste ser morango.

trim() - Retira os espaos em branco de uma String. Exemplo : String b = " Lixo Strimg x = b.trim();

";

O resultado para a varivel x ser "Lixo".

indexOf() - Retornar em que posio encontra-se a primeira ocorrncia de uma string em uma outra string. Caso no encontre a string procurado ele ir retornar -1. Exemplo : String lista = "Constiuio"; int x = lista.indexOf("s"); O resultado ser trs tomando como base de referencia a posio (0).

lastindexOf() - Retorna em que posio encontra-se a ultima ocorrncia de uma string em uma outra string. Exemplo : int y = "Constiuio".lastindexOf("i");

Ir retorna 7 que o nmero da posio da ultima ocorrncia da letra "i na String.

Vous aimerez peut-être aussi