Java ::: Classes e Componentes ::: JComponent |
Java Avançado - Como verificar se uma classe herda de JComponentQuantidade de visualizações: 8902 vezes |
|
Nesta dica mostrarei como podemos tirar proveito dos métodos getClass(), getSuperclass() e getName() da classe Class para verificarmos se uma determinada classe herda da classe JComponent. Embora este exemplo busque relacionar controles do Java Swing, a técnica usada pode ser aplicada em qualquer classe da linguagem Java. Veja o código completo:
package arquivodecodigos;
import javax.swing.*;
public class Estudos{
public static void main(String args[]){
// verifica se JLabel herda de JComponent
JLabel label = new JLabel("Teste");
if(herdaJComponent(label)){
System.out.println("JLabel herda de JComponent");
}
else{
System.out.println(
"JLabel não herda de JComponent");
}
// verifica se Timer herda de JComponent
java.util.Timer timer = new java.util.Timer();
if(herdaJComponent(timer)){
System.out.println(
"java.util.Timer herda de JComponent");
}
else{
System.out.println(
"java.util.Timer não herda de JComponent");
}
System.exit(0);
}
static boolean herdaJComponent(Object obj){
Class cls = obj.getClass();
Class superclass = cls.getSuperclass();
while(superclass != null){
String className = superclass.getName();
if(className.equals("javax.swing.JComponent")){
return true;
}
cls = superclass;
superclass = cls.getSuperclass();
}
return false;
}
}
Ao executarmos este código nós teremos o seguinte resultado: JLabel herda de JComponent java.util.Timer não herda de JComponent |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C - Desafio do número ausente. Dado um vetor de números naturais 1..n, encontre o valor ausenteQuantidade de visualizações: 844 vezes |
|
Pergunta/Tarefa: Dado o vetor:
int valores[] = {1, 8, 7, 2, 6, 5, 3};
Encontre o elemento ausente na sequência de valores do vetor, sabendo que o primeiro valor é 1 e o último elemento é 8. Perceba que o vetor não precisa estar ordenado. Além disso, o entrevistador se certificará de que os valores serão sempre positivos e não haverá valores repetidos. Sua saída deverá ser parecida com: O número ausente é: 4 Dica: Use a fórmula n * (n + 1) / 2 para facilitar a resolução do exercício. Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função principal do programa
int main(int argc, char *argv[]){
// vamos declarar um vetor de inteiros faltando
// um valor na sequência (não necessariamente ordenada)
// Note a ausência do número 4
int valores[] = {1, 8, 7, 2, 6, 5, 3};
int i, soma_n, ausente, soma_elementos;
int quant = 8; // tamanho do vetor + 1
setlocale(LC_ALL,""); // para acentos do português
// o primeiro passo é obter a soma de 1..n elementos
// natuais usando a fórmula n*(n+1)/2
soma_n = (quant * (quant + 1)) / 2;
// agora vamos somar os elementos do vetor
soma_elementos = 0;
for(i = 0; i < 7; i++){
soma_elementos = soma_elementos + valores[i];
}
// agora calculamos o valor ausente
ausente = soma_n - soma_elementos;
// vamos mostrar o resultado
printf("O número ausente é: %d", ausente);
printf("\n\n");
system("PAUSE");
return 0;
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sêniorQuantidade de visualizações: 4379 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras: a) De 5 a 7 anos - Infantil; b) De 8 a 10 anos - Juvenil; c) De 11 a 15 anos - Adolescente; d) De 16 a 30 anos - Adulto; e) Acima de 30 anos - Sênior. Sua saída deverá ser parecida com: Informe sua idade: 19 Sua categoria é Adulto Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Exercicio {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos solicitar a idade do nadador
System.out.print("Informe sua idade: ");
int idade = Integer.parseInt(entrada.nextLine());
// vamos verificar a categoria do nadador
if((idade >= 5) && (idade <= 7)){
System.out.println("Sua categoria é Infantil");
}
else if((idade >= 8) && (idade <= 10)){
System.out.println("Sua categoria é Juvenil");
}
else if((idade >= 11) && (idade <= 15)){
System.out.println("Sua categoria é Adolescente");
}
else if((idade >= 16) && (idade <= 30)){
System.out.println("Sua categoria é Adulto");
}
else if(idade > 30){
System.out.println("Sua categoria é Sênior");
}
else{
System.out.println("Não pertence a nenhuma categoria.");
}
System.out.println("\n");
}
}
|
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como criar herança em Java usando extends - Programação orientada a objetos em JavaQuantidade de visualizações: 29621 vezes |
|
Quando estamos projetando as classes que farão parte de um sistema, é aconselhável ter em mente um conceito muito importante da programação orientada a objetos: a herança. O que um aluno, um professor e um funcionário possuem em comum? Todos eles são pessoas e, portanto, compartilham alguns dados comuns. Todos têm nome, idade, endereço, etc. E, o que diferencia um aluno de uma outra pessoa qualquer? Um aluno possui uma matrícula; Um funcionário possui um código de funcionário, data de admissão, salário, etc; Um professor possui um código de professor e informações relacionadas à sua formação. É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do geral para o mais específico. Comece criando uma classe Pessoa (Pessoa.java) como mostrado no código a seguir:
public class Pessoa{
public String nome;
public int idade;
}
Esta classe possui os atributos nome e idade. Estes atributos são comuns a todas as pessoas. Veja agora como podemos criar uma classe Aluno que herda estes atributos da classe Pessoa e inclui seu próprio atributo, a saber, seu número de matrícula. Eis o código:
public class Aluno extends Pessoa{
public String matricula;
}
Observe que, em Java, a palavra-chave usada para indicar herança é extends. A classe Aluno agora possui três atributos: nome, idade e matricula. Veja um aplicativo demonstrando este relacionamento:
public class Estudos{
public static void main(String args[]){
// cria um objeto da classe Aluno
Aluno aluno = new Aluno();
aluno.nome = "Osmar J. Silva";
aluno.idade = 36;
aluno.matricula = "AC33-65";
// Exibe o resultado
System.out.println("Nome: " + aluno.nome + "\n" +
"Idade: " + aluno.idade + "\n" +
"Matrícula: " + aluno.matricula);
}
}
Ao executar este código nós teremos o seguinte resultado: Nome: Osmar J. Silva Idade: 36 Matrícula: AC33-65 A herança nos fornece um grande benefício. Ao concentrarmos características comuns em uma classe e derivar as classes mais específicas a partir desta, nós estamos preparados para a adição de novas funcionalidades ao sistema. Se mais adiante uma nova propriedade comum tiver que ser adicionada, não precisaremos efetuar alterações em todas as classes. Basta alterar a superclasse e pronto. As classes derivadas serão automaticamente atualizadas. Esta dica foi testada no Java 8. |
Nossas 20 dicas & truques de programação mais populares |
|
PHP - Como inserir um determinado número de zeros antes de um número em PHP usando a função sprintf() Delphi - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Delphi Portugol - Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maior |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como retornar o tamanho de uma string em JavaScript usando a propriedade length do objeto String JavaScript - Como ordenar um array de strings em ordem alfabética em JavaScript - Vetores e matrizes em JavaScript Delphi - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Delphi Java - Como calcular o coeficiente angular de uma reta em Java dados dois pontos no plano cartesiano |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






