Java ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Java - Como obter o dia do mês usando as constantes DATE e DAY_OF_MONTH da classe CalendarQuantidade de visualizações: 9424 vezes |
Em algumas situações pode ser necessário obtermos o dia do mês para uma determinada data. Nestes casos podemos usar o método get() em combinação com as constantes DATE e DAY_OF_MONTH da classe Calendar. Estas constantes retornam um valor inteiro na faixa de 1 a 31. Veja um exemplo:
package arquivodecodigos;
import java.util.*;
public class Estudos{
public static void main(String args[]){
// vamos obter a data e hora atual
Calendar agora = Calendar.getInstance();
// vamos obter o dia do mês
System.out.println("O dia do mês é: " +
agora.get(Calendar.DAY_OF_MONTH));
}
}
Ao executarmos este código nós teremos o seguinte resultado: O dia do mês é: 26 |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHPQuantidade de visualizações: 11164 vezes |
|
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas. As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes: a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
}
// vamos criar um novo objeto desta classe
$b = new Boleto();
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot instantiate abstract class Boleto in ... A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos). b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato:
<?
// Uma classe Boleto não-abstrata
class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ... Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá. c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
// vamos herdar da classe Boleto
class BoletoBradesco extends Boleto{
}
?>
A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
// vamos herdar da classe Boleto
class BoletoBradesco extends Boleto{
public function imprimir($dados){
echo "Imprimindo o boleto: " . $dados;
}
}
// vamos criar um objeto da classe BoletoBradesco
$b = new BoletoBradesco();
// vamos imprimir o boleto
$b->imprimir("Dados do boleto");
?>
d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato que não deveria conter implementação
public abstract function imprimir($dados){
echo "Isso vai dar um erro daqueles!";
}
}
?>
Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro: Fatal error: Abstract function Boleto::imprimir() cannot contain body in ... Bastará remover a implementação do método que a mensagem de erro desaparecerá. |
PHP ::: Dicas & Truques ::: Matemática e Estatística |
Como gerar um número aleatório (randômico) em PHP usando a função rand()Quantidade de visualizações: 31121 vezes |
|
Nesta dica mostrarei como gerar números randômicos dentro de uma determinada faixa usando a função rand() da linguagem PHP. Veja que esta função requer o limite inicial e final (incluso) da faixa a partir da qual o número aleatório será gerado. Veja um código PHP no qual geramos um número aleatório entre 1 e 10: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $num = rand(1, 10); echo "O número gerado foi: " . $num; ?> </body> </html> Ao executar este código nós teremos um resultado parecido com: O número gerado foi: 5 Obs: A partir da versão 4.2.0 do PHP, não é mais necessário usar srand() ou mt_srand() para inicializar a semente (seed) do gerador de números aleatórios. |
C# ::: Dicas & Truques ::: Tipos de Dados |
C# para iniciantes - Como usar o tipo decimal da linguagem C#Quantidade de visualizações: 17079 vezes |
|
O tipo decimal (um apelido para o tipo System.Decimal do .NET) é um tipo numérico com precisão de 128 bits, o que o torna apropriado para cálculos enormes e de grande precisão, tais como cálculos financeiros. A faixa aproximada deste tipo é: (mais ou menos)1.0 x 10e−28 até (mais ou menos)7.9 x 10e28 com precisão de 28 ou 29 dígitos significantes. Em C# 2.0, o tipo decimal ocupa 12 bytes, como pode ser observado no trecho de código abaixo:
Console.WriteLine("O tipo decimal ocupa " + sizeof(decimal) +
" bytes");
É preciso ter muito cuidado ao atribuir um literal de ponto-flutuante à uma variável do tipo decimal. Veja: decimal valor = 34.50; Este trecho de código não compila. Veja o erro reportado: Literal of type double cannot be implicitly converted to type 'decimal'; use an 'M' suffix to create a literal of this type Esta mensagem nos diz que não é possível converter implicitamente um tipo double para um tipo decimal. Para solucionar isso, basta usar a letra "M" ou "m" após o valor literal. Veja: decimal valor = 34.50m; Para finalizar, se estivermos atribuindo um literal inteiro à uma variável do tipo decimal, o uso do "M" ou "m" é dispensado. O trecho de código abaixo compila sem quaisquer problemas: decimal valor = 34; |
Nossas 20 dicas & truques de programação mais populares |
|
AutoCAD Civil 3D .NET C# - Como pedir para o usuário selecionar um alinhamento no Civil 3D usando a função GetEntity() do AutoCAD Civil 3D .NET C# API Delphi - Delphi para matemática - Como arredondar valores de ponto-flutuante para cima usando a função Ceil() C++ - Como inicializar os valores dos elementos de um vetor C++ usando valores randômicos - Revisado |
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 |





