Prévia do material em texto
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA
Prof. Dr. Edgar Natanael
Introdução ao Conceito de Orientação à Objetos
A linguagem Java é Orientada a Objetos.
A programação Orientada a Objetos - Também chamada(POO) é um modo de conceituar um programa de computador como um conjunto de objetos que se interagem. Para alguns, ela é apenas um modo de organizar programas em qualquer linguagem e pode ser usada para criar programas orientados a objetos.
Classe
Vem a ser uma estrutura de dados criada para dar origem ou modelar um objeto.
Carro
Propriedades
Marcha
Freio
Embreagem
Motor
A linguagem Java é Orientada a Objetos.
Método :
Método vem a ser um grupo de instruções em uma classe que define como os objetos da classe se comportarão. Os métodos são análogos às funções em outras linguagens.
A linguagem Java é Orientada a Objetos.
Método da classe carro
Devem ser descritos com uma ação (verbo) que podem controlar o estado do objeto.
Exemplo :
Mudar_Marcha(estado_marcha)
Marcha = estado_marcha{0,1,2,3,4....}
Freiar_carro(estado_freio)
Freio = estado_freio{true,false}
A linguagem Java é Orientada a Objetos.
Estrutura de uma classe
Carro
Propriedades
Marcha
Freio
Embreagem
Motor
Métodos
Mudar_Marcha(..)
Freiar_Carro(..)
A linguagem Java é Orientada a Objetos.
Objetos
É uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.
A linguagem Java é Orientada a Objetos.
Exemplo de objeto
Carro obj_carro1 = Carro ()
Carro obj_carro2 = Carro ()
obj_carro1.Freiar_carro(true)
obj_carro1.Mudar_Marcha(3)
obj_carro2.Freiar_carro(false)
A linguagem Java é Orientada a Objetos.
Herança
Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos). Há Herança múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada de relação "é um". Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é um mamífero.
A linguagem Java é Orientada a Objetos.
Estrutura de Herança
Veiculo
Propriedades
Marcha
Freio
Métodos
Mudar_Marcha(..)
Freiar_Carro(..)
A linguagem Java é Orientada a Objetos.
Exemplo: Herança
Carro
Veiculo
Moto
Bicicleta
A linguagem Java é Orientada a Objetos.
Polimorfismo
Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse.
A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia.
No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de métodos.
Esse mecanismo de redefinição não deve ser confundido com o mecanismo de sobrecarga de métodos.
A linguagem Java é Orientada a Objetos.
Exemplo: Polimorfismo
Carro
Métodos
Mudar_Marcha(..)
Freiar_Carro(..)
Veiculo
Herda
A linguagem Java é Orientada a Objetos.
Polimorfismo
Podem haver implementações diferentes para o mesmo método.
Cachorro
Animal
Gato
Cavalo
Barulho()
Barulho()
Latir
Barulho()
Miar
Barulho()
Relinchar
A linguagem Java é Orientada a Objetos.
Introdução a Programação em Java
A linguagem Java é Orientada a Objetos.
Classes :
Todo programa na linguagem Java é uma classe que permite nela atribuir métodos e objetos pertencentes a ela.
Uma classe vem a ser um modelo para o objeto que contém variáveis para descrevê-los e métodos para descrever como eles se comportam. As Classes podem herdar variáveis e métodos de outras classes.
A linguagem Java é Orientada a Objetos.
Tipos Básicos
Os tipos básicos de dados em Java são String, (Alfanuméricos), int (números Inteiros) e double (números com casas decimais) boolean(Operadores true, false).
A linguagem Java é Orientada a Objetos.
A linguagem Java é Orientada a Objetos.
Exemplo de declaração de tipos em Java.
String a = "null"; (Cria a variável a para receber uma String)
int x = 0; (Cria a variável x para receber um inteiro).
boolean teste = true; (Cria a variável teste para receber um boolean).
double lista = 2.3; (Cria a variável lista para receber um número fracionário).
Obs : poderá ser criada a variável sem atribuir valores para a mesma em alguns casos.
Exemplo: String x;
A linguagem Java é Orientada a Objetos.
Operadores Aritméticos do Java.
(+) - soma
(-) - Subtração
(*) - Multiplicação
(/) - Divisão
(%) - Módulo (Resto da Divisão)
A linguagem Java é Orientada a Objetos.
Operadores Relacionais.
>- Maior que
= - Maior ou Igual
a ? true : false;
A linguagem Java é Orientada a Objetos.
Operadores de Incremento e Decremento.
++ => Equivalente à x++ / x = x + 1
_ _ => Equivalente à y-- / y = y - 1
A linguagem Java é Orientada a Objetos.
Estruturas de Controle da linguagem Java.
Em Java como em qualquer linguagem temos as três estruturas básicas de programação são elas.
a) Condição
b) Atribuição
c) Repetição
A linguagem Java é Orientada a Objetos.
Se a for igual a 3. Exemplo.
b = a++ (O valor da variável b será 3 e da variável a = 4).
b = ++a ( O valor da variával b será 4 e da variável a = 4).
Obs : Idem para operação de subtração
A linguagem Java é Orientada a Objetos.
if( ) - Analisa se uma condição é verdadeira ou falsa.
Sintaxe :
if () {
}
else { }
Obs : Em Java o símbolo ( { )- Representa Begin e ( } ) -Representa end
A linguagem Java é Orientada a Objetos.
Exemplo : if()
int a = 1;
if( a == 5)
System.out.println("Valor de (a) esta Correto");
else
System.out.println("Valor de (a) esta Invalido !!!!");
Obs : A classe System.out.Println() permite imprimir uma informação no video.(saida padrão)
A linguagem Java é Orientada a Objetos.
while( ) - Cria uma repetição condicional.
Sintaxe :
while( ) {
}
A linguagem Java é Orientada a Objetos.
Exemplo: while()
int a = 1;
while( a ;;) {
}
A linguagem Java é Orientada a Objetos.
Exemplo : for()
for(int i=1;ia++;
}
A linguagem Java é Orientada a Objetos.
Usar a estrutura switch(), que corresponde ao case do delphi o select case VB.
switch() {
case valor1 :
.....................
break;
case valor2 :
........................
break;
case valor3 :
........................
break;
default :
........................
}
Exemplo:
A linguagem Java é Orientada a Objetos.
Exemplo. switch
switch(opcao) {
case 1 :
System.out.println("UM");
break;
case 2 :
System.out.println("DOIS");
break;
case 3 :
System.out.println("TRÊS");
break;
default :
System.out.println("Nenhum desses números foi teclado !!!!");
}
A linguagem Java é Orientada a Objetos.
Estrutura de um programa em Java
class : Declara uma classe em Java.
Como todo programa em Java vem a ser uma classe então toda a vez que formos escrever um programa Java devemos usar o comando class que declara uma classe.
A linguagem Java é Orientada a Objetos.
Exemplo :
class teste {
:
}
A linguagem Java é Orientada a Objetos.
Método
Por sua vez toda as classe são composta de métodos que realizam tarefas como no exemplo abaixo.
public static void main(String args[]) {
:
:
}
A linguagem Java é Orientada a Objetos.
public - Onde a palavra chave public significa que esse método será reconhecido por todas as outras classes e métodos. (objetos)
static - Significa que esse método não será nunca instânciado.
void - Significa que o método não irá retornar nenhum valor.
A linguagem Java é Orientada a Objetos.
main - Vem a ser o próprio método que é onde toda a aplicação escrita irá funcionar.
args[] - Vem a ser um vetor criado pelo Java automaticamente com parâmetros passados pela linha de comandos esse vetor será sempre do tipo String.
A linguagem Java é Orientada a Objetos.
Exemplo de um programa Java para ser compilado em laboratório.
class exemplo2 {
public static void main(String args[]) {
System.out.println("Alo Mundo!!!!");
}
}
A linguagem Java é Orientada a Objetos.
Estudando o Vetor de parâmetros da Linguagem Java
Em Java o método main() aceita um parâmetro que permite com que informações sejam passadas da linha de comandos direto para o programa esse argumento(Parâmetro) tem o nome simbólico de args[] mais pode ser alterado para qualquer outro nome como qualquer outra variável.
Obs : Esse argumento que deve ser passado para o método main() deve ser sempre uma String. Como já foi visto.
A linguagem Java é Orientada a Objetos.
Exemplo Prático:
public static void main(String args[]) {
System.out.println(args[0])
}
A linguagem Java é Orientada a Objetos.
Método : parseInt() - Converte uma string em número inteiro.
Exemplo :
String a = "123";
int x = Integer.parseInt(a);
Converte o valor da String a = "123" para um
número inteiro.
A linguagem Java é Orientada a Objetos.
Método : parseDouble() - Converte uma string em número ponto flutuante.
Exemplo :
String a = "123.75";
double x = Double.parseDouble(a);
Converte o valor da String a = "123" para um número de ponto flutuante.
A linguagem Java é Orientada a Objetos.
Formatando saídas:
printf ( ) – Método que realiza a formatação dos valores na saída padrão; Por intermédio do símbolo de porcentagem.
Sintaxe :
System.out.printf(“%”,);
A linguagem Java é Orientada a Objetos.
Formatos válidos
A linguagem Java é Orientada a Objetos.
Formato Tipo do Valor
%d Valor inteiro decimal
%f Valor em ponto flutuante
%c Caracter em formato ASCII
%s String de caracteres
%u Inteiro decimal sem sinal
%i Valor inteiro decimal
%o Valor inteiro octal
%x Valor inteiro hexadecimal
%% Caracter %
\n Pula uma linha após impressão
Exemplo :
double a = 2.2;
System.out.printf("%2.3f\n",);
Resultado : 2,200
int b = 255;
System.out.printf("%4d\n",b);
Resultado : b255
b = Espaço em branco
A linguagem Java é Orientada a Objetos.
int b = 255;
System.out.printf("%X\n",b);
Resultado : FF
System.out.printf("%o\n",b);
Resultado : 377
int ch = 97;
System.out.printf("%c\n",ch);
Resultado : a
A linguagem Java é Orientada a Objetos.
double a = 2.2;
System.out.printf("%e\n",a);
Resultado : 2.20000e+00
System.out.printf("%d %2d %3d\n",3,5,7);
Resultado : 3bb5bbb7
A linguagem Java é Orientada a Objetos.
String str1 = “ana”;
System.out.printf("%s\n",str1);
Resultado : ana
System.out.printf("%S\n",str1);
Resultado : ANA
double a = 2.2;
String st = “ana”;
System.out.printf("%S %1.1f\n",st,a);
Resultado : ANA 2,2
A linguagem Java é Orientada a Objetos.
Escopo com variáveis
Quando um variável em java é declarada no interior de uma estrutura seus valores e referências serão mantidos durante o momento em que a estrutura estiver sendo executada, depois disso essa variável não mais terá finalidade para o programa devendo ser destruída, caso o programador tente usar essa variável logo após a execução dessa estrutura o compilador irá detectar erro.
A linguagem Java é Orientada a Objetos.
Exemplo : Variável Global
int a = 1;
for( int i=1;i