Buscar

Pesquisa Contextual de JAVA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DE MATO GROSSO
Sistemas de Informação
_____________________________________________________
Aluno: Leonardo Alencar
 Classe
CLASSE é a definição. A definição de uma CLASSE ocorre apenas uma vez no programa. Você pode ter uma CLASSE e instanciar quantos OBJETOS você precisar desta CLASSE. A CLASSE você cria enquanto você escreve seu código fonte; Uma classe é o agrupamento de objetos com a mesma estrutura de dados (definida pelos atributos ou propriedades) e comportamento (operações), ou seja, classe são as descrições dos objetos.
 Objeto
OBJETO é a instancia. A instancia de um OBJETO pode ocorrer quantas vezes você precisar. O OBJETO você cria quando você usa new em seus programas. (Ou quando chama algum método que cria para você e retorna o objeto pronto; De maneira geral, Objeto é uma classe sendo estanciada de maneira mais Conceitual, um objeto é algo distinguível que contém atributos (ou propriedades) e possui um comportamento. Cada objeto tem uma identidade e é distinguível de outro mesmo que seus atributos sejam idênticos.
Herança
Enquanto programamos em Java, há a necessidade de trabalharmos com várias classes. Muitas vezes, classes diferentes tem características comuns, então, ao invés de criarmos uma nova classe com todas essas características usamos as características de um objeto ou classe já existente. Ou seja, herança é, na verdade, uma classe derivada de outra classe.
Para simplificar de uma forma mais direta, vejamos:
Vamos imaginar que exista uma classe chamada Eletrodoméstico, e nela estão definidos os seguintes atributos: ligado (boolean), voltagem (int) e consumo (int). Se levarmos em conta a classe TV que estamos usando de exemplo até agora, podemos dizer que TV deriva de Eletrodoméstico. Ou seja, a classe TV possui todas as características da classe Eletrodoméstico, além de ter suas próprias características. Para fazermos uma classe herdar as características de uma outra, usamos a palavra reservada extends logo após a definição do nome da classe. Dessa forma:
class NomeDaClasseASerCriada extends NomeDaClasseASerHerdada
Importante: Java permite que uma classe herde apenas as características de uma única classe, ou seja, não pode haver heranças múltiplas. Porém, é permitido heranças em cadeias, por exemplo: se a classe Mamífero herda a classe Animal, quando fizermos a classe Cachorro herdar a classe Mamífero, a classe Cachorro também herdará as características da classe Animal.
 Polimorfismo
Polimorfismo, que vem do grego "muitas formas". É o termo definido em linguagens orientadas a objeto - como o Java - para a possibilidade de se usar o mesmo elemento de forma diferente. Especificamente em Java, polimorfismo se encontra no fato de podemos modificar totalmente o código de um método herdado de uma classe diferente, ou seja, sobrescrevemos o método da classe pai. Portanto, polimorfismo está intimamente ligado a herança de classes.
Um pequeno exemplo para simplificar essa característica segue abaixo:
Classe 1 possui 2 métodos: métodoA() e métodoB().
Classe 2 herda a classe 1.
Classe 2 reescreve todo o métodoA() que pertence a classe 1.
Levando isso a um patamar mais prático.
Sabemos que toda classe em Java herda implicitamente a classe Object. A classe Object possui alguns métodos, dentre eles o método toString().
O método toString() original, descreve qual instância de objeto está sendo utilizada. Resumidamente, ele cria um texto com o nome da classe mais um código hexadecimal que cada instância possui diferente de outra, chamado hash code (é como um RG daquela instância).
Então, se tivéssemos a classe TV dentro do pacote tiexpert e usássemos o comando: System.out.println (tv1.toString()). O que apareceria no console seria algo como: tiexpert.TV@c17124. Então o que faremos para melhorar será usar o polimorfismo para sobrescrever o método toString(), colocando o texto da forma que desejarmos.
 Interfaces
Interface é um recurso da orientação a objeto utilizado em Java que define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente. Interfaces contém valores constantes ou assinaturas de métodos que devem ser implementados dentro de uma classe.
E por que isso?
Isso se deve ao fato que muitos objetos (classes) podem possuir a mesma ação (método), porém, podem executá-la de maneira diferente. 
Usando um exemplo bem drástico, podemos ter uma interface chamada aéreo que possui a assinatura do método voar(). Ou seja, toda classe que implementar aéreo deve dizer como voar(). Portanto, se eu tenho uma classe chamada pássaro e outra chamada avião, ambas implementando a interface aéreo, então, nestas duas classes devemos codificar a forma como cada um irá voar(). 
Uma interface é criada da mesma forma que uma classe, mas utilizando a palavra-chave interface no lugar de class.
interface nomeDaInterface { métodoAbstrato (argumentos); }
Usando uma Interface em uma Classe
Como vimos anteriormente, uma classe pode estender suas funcionalidades obtendo as características de outra classe num processo que chamamos de herança. Uma interface não é herdada, mas sim, implementada. Porque todo o código dos métodos da interface deve ser escrito dentro da classe que o chama. Dessa forma, obtemos as assinaturas dos métodos da interface em uma classe usando a palavra-chave implements.
A vantagem principal das interfaces é que não há limites de quantas interfaces uma classe pode implementar. O que ajuda no caso de heranças múltiplas que não é possível ser feito em Java, pois uma classe apenas pode herdar as características de uma outra classe.
Pacotes
Usamos pacotes para organizar as classes semelhantes. Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java e são essenciais para o conceito de encapsulamento, no qual são dados níveis de acesso as classes. Java possui um pacote padrão que é utilizado quando programamos, mesmo embora não seja recomendado pela Sun usá-lo.
Criar Pacotes
Muitos compiladores criam automaticamente os pacotes como uma forma eficaz de organização, mas a criação de pacote pode ser feita diretamente no sistema operacional. Basta que criemos uma pasta e lhe demos um nome. Após isso, devemos gravar todos os arquivos fonte de java dentro desta pasta.
Definir Pacotes
Agora que já possuímos a pasta que será nosso pacote, devemos definir em nossa classe a qual pacote ela pertence. Isso é feito pela palavra reservada package. Package deve ser a primeira linha de comando a ser compilada de nossa classe. Portanto, se tivéssemos criado uma pasta chamada tiexpert e fossemos criar uma classe nesta pasta (pacote), o começo de nosso código seria: package tiexpert;.
Importar Pacotes
Java possui vários pacotes com outros pacotes internos e várias classes já prontas para serem utilizadas. Dentre os pacotes Java podemos determinar dois grandes pacotes: o pacote java, que possui as classes padrões para o funcionamento do algorítmo; e o pacote javax, que possui pacotes de extensão que fornecem classes e objetos que implementam ainda mais o pacote java.
Exemplo: o pacote AWT (Abstract Windowing Toolkit) possui as classes necessárias para se criar um ambiente gráfico API (Janelas) e está fortemente ligado as funções nativas do Sistema Operacional, ou seja, ele pertence ao pacote java. Mas, o pacote SWING não é ligado fortemente as funções nativas do Sistema Operacional, mas as funções do AWT, ou seja, SWING complementa o AWT, portanto SWING faz parte do pacote de extensão javax. 
Para utilizar as milhares de classes contidas nos inúmeros pacotes de Java devemos ou nos referenciar diretamente a classe ou importá-la.
Para importar um pacote usamos o comando import.
Para separar um pacote de seu sub-pacote usamos um ponto (como no acesso a membros de classe). Ao importarmos um pacote podemos utilizar um coringa, o asterísco (*). O asterísco serve para importar todos os sub-pacotes e classes do pacote que está definido.
Ex.: import java.awt.*;. Isso importarátodos os sub-pacotes pertencentes ao pacote AWT. Ou podemos definir diretamente qual pacote desejamos.
Ex.: import javax.swing.JOptionPane;. Isso irá importar apenas o sub-pacote JOptionPane do pacote SWING.
A diferença entre as duas formas de importação de pacotes é o consumo de recursos do computador. Como o asterisco importa todos os sub-pacotes, o consumo de memória será alto e, muito provavelmente, não usaremos todas as classes de todos os pacotes importados. Por isso, o recomendado é sempre importar apenas o pacote que será utilizado.
Para consolidar o que foi visto até aqui, o código abaixo ilustra o uso de pacotes.
01. package tiexpert;
02. 
03. import javax.swing.JOptionPane;
04. 
05. public class Mensagem {
06. public static void main (String args[]){
07. JOptionPane.showMessageDialog(null,
08. "Bem vindo ao mundo de Java!");
09. }
10. }
A classe acima está no pacote tiexpert. No nosso programa estamos utilizando o método showMessageDialog que pertence à classe JOptionPane que está no pacote de extensão SWING que tivemos que importar.

Outros materiais