material ii-bimestre fundamentos da linguagem java ...iibim).pdf · encapsulamento, polimorfismo e...
Post on 09-Nov-2018
234 Views
Preview:
TRANSCRIPT
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
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
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
top related