75
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

Material II-Bimestre Fundamentos da linguagem Java ...IIBim).pdf · Encapsulamento, Polimorfismo e Herança. 2. Uma classe vem a ser o modelo para um objeto ou seja como vamos desenhar

Embed Size (px)

Citation preview

Universidade do Vale do ParaíbaColé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 edeixamos essa mesma classe disponívelpara o uso emnosso programa. Quandoinstanciamos uma classe ou umobjeto elepode ser conhecido emqualquer parte doprograma.

4

A sintaxe que permite ao programador Java instanciar um objeto(Classe) é a

seguinte.

NomeClasse objeto = new NomeClasse();

O operador newé que permite que possamosinstancia 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étodoUm método vema ser a maneira que usamos para identificar ocomportamento de uma classe. Emuma classe poderemosencontrar 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;

elsereturn 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 classepublic 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 passarparâmetros de tipos diferentes para mesmo método.

14

Exemplo :

class exemp1 {public boolean parimpar(int n) {

if( n%2 == 0)return true;

elsereturn 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émuma classe principal nelaestará o método main(). E depois criada umaoutra classe somente comos métodos necessáriospara 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 umobjeto da classe aproveitacaracterísticas de outro.Nesse caso ao invés deinstanciarmos a classe aqual essemétodo pertenceusamoso operadosextends.

20

extends

Instrução do Java que permite criar o quevema 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çõesreturn 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

Vema ser uma estrutura para protegeras propriedades emuma classe, podendosomente acessar as mesma por intermédiode métodos e não diretamente.

25

Encapsulamento

Permite realizar o acesso aos métodos daclasse por intermédio apenas dos métodos,isso torna-se mais seguro porque aspropriedades serão privadas.

set(dado) get()

Processamento

26

Encapsulamento : Entrada

Nome

Endereco

ClassesetNome(“Maria”)

setEndereco(“Barão, 34”)

setNome()

setEndereco()

27

Encapsulamento : Saída

Nome

Endereco

ClassegetNome() => Maria

getEndereco() => Barão,34

getNome()

getEndereco()

28

Exemplo : Encapsulamenentopublic 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

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

Simbologia de classe

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 catchclass 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 manipularmosnúmeros de uma forma matemática temos umaclasse emJava específica para esse tipo detarefa, essa classe é chamada deMath (Cujosignificado é Matemática).

39

Estrutura da Classe Math

Metodo1

......

Metodo2

......

Metodo3

........

Metodo4

......

Propriedades

Classe

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 essesmétodos.

55

Formatando valores Numéricos

DecimalFormat : Classe que permite realizara formatação de números comsuas respectivascasas decimais.

Exemplo : Instância

DecimalFormat meuFormato = new DecimalFormat();

56

import java.text.DecimalFormat;

Para usar a classeDecimalFormat é necessárioimportar o pacote acima. Quedeveráser colocadano inicio doprogramaantes dadeclaraçãodaclasseondeserá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> );Ouint/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