Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
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: 11031 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 ::: Strings e Caracteres |
Como transformar uma string em letras minúsculas em PHP usando a função strtolower()Quantidade de visualizações: 4 vezes |
|
A função strtolower() do PHP pode ser usada quando queremos converter uma palavra, frase ou texto para letras minúsculas. Veja um exemplo de seu uso:
<?php
// vamos definir a codificação como iso-8859-1
ini_set('default_charset', "iso-8859-1");
// vamos criar uma string
$frase = "PHP? Eu gosto de PHP";
echo "A frase original é: " . $frase;
// agora vamos converter a frase para letras
// minúsculas
$frase_minusculas = strtolower($frase);
echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>
Ao executarmos este código PHP nós teremos o seguinte resultado: A frase original é: PHP? Eu gosto de PHP Em letras minúsculas: php? eu gosto de php Ao executar este código no PHP 8, Windows 10 e codificação do arquivo em ANSI, o resultado da função strtolower() é o esperado, mas somente sem usar acentos e caracteres especiais. Veja:
<?php
// vamos definir a codificação como iso-8859-1
ini_set('default_charset', "iso-8859-1");
// vamos criar uma string
$frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO";
echo "A frase original é: " . $frase;
// agora vamos converter a frase para letras
// minúsculas
$frase_minusculas = strtolower($frase);
echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>
Ao executarmos o código novamente nós teremos a seguinte saída: A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO Em letras minúsculas: java? nÃo! É de php que eu gosto Note que as letras acentuadas não foram convertidas para letras minúsculas. Isso aconteceu porque os caracteres acentuados são tratados como caracteres de múltiplos bytes, ou seja, multi-byte chars. A saída, nesse caso, e no PHP 8 (e acredito mais recentes), é usar a função mb_strtolower(). Veja:
<?php
// vamos definir a codificação como iso-8859-1
ini_set('default_charset', "iso-8859-1");
// vamos criar uma string
$frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO";
echo "A frase original é: " . $frase;
// agora vamos converter a frase para letras
// minúsculas
$frase_minusculas = mb_strtolower($frase);
echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>
Execute o código novamente e verá que o resultado agora está correto: A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO Em letras minúsculas: java? não! é de php que eu gosto Agora você já sabe o primeiro passo para resolver problemas de acentuação no PHP. Bons estudos. |
Portugol ::: Dicas & Truques ::: Laços de Repetição |
Como usar o laço de repetição PARA da linguagem Portugol - Apostila de Portugol para iniciantes em Algorítmos e Lógica de ProgramaçãoQuantidade de visualizações: 537 vezes |
|
O laço de repetição PARA da linguagem Portugol é usado quando queremos repetir uma ou mais instruções de nosso código um DETERMINADO número de vezes. Isso quer dizer que esse laço de repetição é usado quando sabemos exatamente quantas vezes uma instrução ou grupo de instruções será repetida. Vamos começar com um exemplo básico? Veja um laço PARA que escreve "Gosto de programação" cinco vezes na saída do programa:
programa {
funcao inicio() {
// um laço PARA que escreve uma frase 5 vezes
para (inteiro i = 0; i < 5; i++) {
escreva("Gosto de programar\n")
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: Gosto de programar Gosto de programar Gosto de programar Gosto de programar Gosto de programar Note que, em Portugol, a palavra chave que representa o laço, ou seja, a palavra "para" deve ser escrita sempre em letras minúsculas. Além disso, o laço para possui uma variável de controle que, na maioria das vezes, se chama "i" e é do tipo inteiro. Vamos ver mais um exemplo? Veja um laço PARA que escreve os números de 1 até 10 na saída do programa:
programa {
funcao inicio() {
// um laço PARA que conta de 1 até 10
para (inteiro i = 1; i <= 10; i++) {
escreva(i, " ")
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 E que tal contar de trás para frente, ou seja, de 10 até 1? Veja:
programa {
funcao inicio() {
// um laço PARA que conta de 10 até 0
para (inteiro i = 10; i >= 1; i--) {
escreva(i, " ")
}
}
}
Ao executar o código Portugol novamente nós teremos o seguinte resultado: 10 9 8 7 6 5 4 3 2 1 Para finalizar, veja algumas observações importantes em relação ao laço de repetição PARA da linguagem Portugol: a) O laço com variável de controle possui três partes. A inicialização da variável contadora, a definição do valor final do contador e a definição do incremento. Estas três partes são escritas juntas, no início do laço. b) A sintaxe é respectivamente a palavra reservada para, abre parênteses, a declaração de uma variável de controle, ponto e virgula, a condição a ser testada, ponto e virgula, uma alteração na variável de controle a ser feita a cada iteração, fecha parenteses, e entre chaves as instruções do programa. |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como definir a cor de fundo para um JTextAreaQuantidade de visualizações: 10 vezes |
|
Nesta dica mostrarei como podemos aplicar uma cor de fundo a um controle área de texto, ou seja, um JTextArea do Java Swing. Para isso nós só precisamos fazer uma chamada ao seu método setBackground() e passar a cor desejada. Veja um exemplo de como isso pode ser feito: textArea = new JTextArea(10, 20); // Define a cor de fundo textArea.setBackground(Color.YELLOW); Note que aqui nós temos uma variável chamada textArea, do tipo JTextArea. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Como percorrer todos os elementos de um vetor de inteiros e exibir a soma de seus valoresQuantidade de visualizações: 13402 vezes |
|
Pergunta/Tarefa: Considere o seguinte vetor de inteiros:
// um vetor de inteiros contendo sete elementos
int valores[] = {4, 5, 1, 8, 2, 2, 10};
A soma dos valores do vetor é: 32 Resposta/Solução:
public static void main(String[] args){
// um vetor de inteiros contendo sete elementos
int valores[] = {4, 5, 1, 8, 2, 2, 10};
// o primeiro passo é criar uma variável que vai receber a soma
// dos valores dos elementos
int soma = 0;
// agora vamos usar uma laço for para percorrer todos os elementos
// do vetor, obter o valor do elemento atual e adicionar ao valor atual
// da variável soma
for(int i = 0; i < valores.length; i++){
soma = soma + valores[i];
// poderia também ser escrito assim:
// soma += valores[i];
}
// vamos exibir a soma dos valores do vetor
System.out.println("A soma dos valores do vetor é: " + soma);
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





