Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como criar e usar métodos estáticos em PHPQuantidade de visualizações: 9397 vezes |
Como já vimos em outras dicas desta seção, uma classe possui propriedades (variáveis) e métodos. Veja a seguinte declaração de uma classe Produto:
<?php
// classe Produto com duas variáveis privadas e seus
// correspondentes métodos mutatórios e acessórios
class Produto{
private $nome;
private $preco;
public function setNome($nome){
$this->nome = $nome;
}
public function getNome(){
return $this->nome;
}
public function setPreco($preco){
$this->preco = $preco;
}
public function getPreco(){
return $this->preco;
}
}
?>
Aqui cada instância da classe Produto terá suas próprias variáveis $nome e $preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância. Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. Métodos estáticos em PHP podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:
<?php
// classe Pessoa com duas variáveis privadas e um método
// estático
class Pessoa{
private $nome;
private $idade;
// um método estático que permite verificar a validade
// de um número de CPF
public static function isCPFValido($cpf){
// alguma rotina aqui
return true;
}
}
// vamos efetuar uma chamada ao método isCPFValido() sem
// criar uma instância da classe Pessoa
if(Pessoa::isCPFValido("12345")){
echo "CPF Válido";
}
else{
echo "CPF inVálido";
}
?>
Observe como acessamos o método isCPFValido() sem a necessidade da criação de uma instância da classe Pessoa. Note que, se quisermos chamar um método estático a partir de uma instância na qual ele está declarado, devemos usar self em vez de $this (ainda que esta última forma não provoque nenhum efeito colateral) para deixar bem claro que o método chamado pertence à classe e não às suas instâncias. Finalmente note que um método estático não possui acesso à uma instância específica de uma classe por meio da referência $this (o que é compreensível, visto que uma chamada a um método estático não depende da existência de instâncias da classe que o declara). Ao tentarmos acessá-lo, teremos a seguinte mensagem de erro: Fatal error: Using $this when not in object context in ... |
Java ::: Coleções (Collections) ::: ArrayList |
Como rotacionar os elementos de uma ArrayList do Java para frente ou para trás usando o método rotate()Quantidade de visualizações: 11560 vezes |
Nesta dica mostrarei como podemos usar o método rotate() da classe Collections da linguagem Java para rotacionar os elementos de uma ArrayList. Veja sua assinatura:void rotate(List<?> list, int distance) Este método faz com que um elemento na posição i seja movido para a posição (distance + i) % list.size(). Se você quiser inverter a ordem da rotação, forneça um valor negativo para o argumento distance. Veja o código completo para o exemplo:
package estudos;
import java.util.ArrayList;
import java.util.Collections;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// adiciona itens na lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
nomes.add("Osmar");
// exibe os elementos da ArrayList
System.out.println("Antes da rotação:\n");
for(int i = 0; i < nomes.size(); i++)
System.out.println(nomes.get(i));
// Vamos rotacionar os elementos uma posição
Collections.rotate(nomes, 1);
// exibe os elementos da ArrayList
System.out.println("\nDepois da rotação:\n");
for(int i = 0; i < nomes.size(); i++)
System.out.println(nomes.get(i));
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Antes da rotação: Carlos Maria Fernanda Osmar Depois da rotação: Osmar Carlos Maria Fernanda |
Delphi ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular fatorial em Delphi usando recursividadeQuantidade de visualizações: 13375 vezes |
|
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma: 4 x 3 x 2 x 1 = 24 Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplicação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em Delphi que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados.
// função recursiva para calcular o fatorial
// de um determinado número
function fatorial(n: Integer): Integer;
begin
if n = 0 then
Result := 1
else
Result := n * fatorial(n - 1);
end;
// vamos chamar a função recursiva
// a partir do Click de um botão
procedure TForm1.Button1Click(Sender: TObject);
var
res: Integer;
begin
// vamos calcular o fatorial de 5
res := fatorial(5);
// vamos mostrar o resultado
ShowMessage('O fatorial de 5 é: ' + IntToStr(res));
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string é composta apenas de caracteres maiúsculos usando a função isupper() do PythonQuantidade de visualizações: 9380 vezes |
|
Este exemplo mostra como usar a função isupper() do objeto string da linguagem Python para verificar se uma palavra, frase ou texto contém apenas caracteres maiúsculos. Se qualquer caractere minúsculo for encontrado, a função retorna false. Obs: Mesmo que a string contenha números ela ainda pode estar em letras maiúsculas. Veja um código Python completo exemplificando seu uso:
def main():
string = "GOSTO DE PYTHON E JAVA"
if string.isupper():
print("A string está em letras maiúsculas")
else:
print("A string não está em letras maiúsculas")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: A string está em letras maiúsculas |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Python - Como percorrer todos os elementos de um vetor de inteiros e exibir a soma de seus valoresQuantidade de visualizações: 4285 vezes |
|
Pergunta/Tarefa: Considere o seguinte vetor de inteiros: // um vetor de inteiros contendo sete elementos valores = [4, 5, 1, 8, 2, 2, 10] A soma dos valores do vetor é: 32 Resposta/Solução:
# método principal
def main():
# um vetor de inteiros contendo sete elementos
valores = [4, 5, 1, 8, 2, 2, 10]
# o primeiro passo é criar uma variável que vai receber a soma
# dos valores dos elementos
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 valor in valores:
soma = soma + valor
# vamos exibir a soma dos valores do vetor
print("A soma dos valores do vetor é: {0}".format(soma))
if __name__== "__main__":
main()
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
Python - Como testar se um ponto está dentro de um círculo em Python - Desenvolvimento de Games com Python |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






