![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Python |
||
|
||
|
|
||
C++ ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em C++ - Como criar e usar métodos estáticos em suas classes C++Quantidade de visualizações: 15552 vezes |
Como já vimos em outras dicas desta seção, uma classe C++ possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:
// definição da classe Produto
class Produto{
public:
void setNome(string);
string getNome();
void setPreco(double);
double getPreco();
private:
string nome;
double 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 C++ 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:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
// classe Pessoa com duas variáveis privadas e
// um método estático
class Pessoa{
public:
// um método estático que permite verificar a validade
// de um número de CPF
static bool isCPFValido(string);
private:
string nome;
int idade;
};
// implementação da classe Pessoa
bool Pessoa::isCPFValido(string cpf){
// alguns cálculos aqui
return true;
}
int main(int argc, char *argv[]){
// vamos efetuar uma chamada ao método isCPFValido() sem
// criar uma instância da classe Pessoa
if(Pessoa::isCPFValido("12345")){
cout << "CPF Válido" << endl;
}
else{
cout << "CPF inVálido" << endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Aqui nós temos os códigos da definição e implementação da classe Pessoa em apenas um arquivo (main.cpp). Em uma aplicação real é interessante colocar estas partes em arquivos separados (.h e .cpp). Note que o método estático isCPFValido() foi declarado assim: static bool isCPFValido(string); Desta forma, podemos chamá-la a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja: if(Pessoa::isCPFValido("12345")){} É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo:
bool Pessoa::isCPFValido(string cpf){
// alguns cálculos aqui
// vamos acessar a variável não estática nome
nome = "Osmar J. Silva";
return true;
}
vai gerar o seguinte erro de compilação: invalid use of member `Pessoa::nome' in static member function. Se usarmos this->nome a mensagem de erro de compilação será: `this' is unavailable for static member functions. Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias. |
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: 29980 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. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir partes de uma palavra, frase ou texto em Python usando a função replace() do objeto StringQuantidade de visualizações: 2322 vezes |
Em várias ocasiões nós precisamos efetuar a substituição de substrings em uma string. Para isso nós podemos usar o método replace() da linguagem Python. Esta função possui a seguinte assinatura:string.replace(oldvalue, newvalue, count) onde oldvalue é trecho da string a ser substituído, newvalue é o valor que substituirá o valor antigo e count é a quantidade de substituições. Na ausência do terceiro argumento, TODAS as ocorrências da substring pesquisada serão substituídas. Veja um exemplo no qual substituímos todas as ocorrências de "Java" por "Python" em uma frase:
def main():
# frase original
original = "Gosto de Java porque Java é fácil"
print("Frase original:", original)
# vamos substituir "Java" por "Python"
nova_frase = original.replace("Java", "Python")
print("Após a substituição:", nova_frase)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Frase original: Gosto de Java porque Java é fácil Após a substituição: Gosto de Python porque Python é fácil |
C# ::: Namespace System.Drawing ::: Image |
Como usar o método FromFile() da classe Image do C# para criar um objeto desta classe a partir de um arquivo de imagem JPG, GIF, PNG, BMP, etcQuantidade de visualizações: 8073 vezes |
Em algumas situações precisamos criar um objeto Image a partir de um arquivo de imagem JPG, GIF, PNG, BMP, etc. Isso pode ser feito por meio do método estático FromFile() da classe Image. Veja sua assinatura:public static Image FromFile(string filename) Veja um trecho de código no qual usamos o método FromFile() para criar um objeto Image a partir de uma imagem JPG em um determinado diretório. Em seguida usamos a Image construída para exibir a imagem em um PictureBox:
private void button1_Click_1(object sender, EventArgs e){
// constrói um objeto Image a partir do endereço da image
Image imagem = Image.FromFile(@"C:\estudos_csharp_wf\logo.jpg");
// atribui a imagem construída à propriedade Image
pictureBox1.Image = imagem;
}
É importante observar que o método FromFile() pode disparar as seguintes exceções: a) OutOfMemoryException - O arquivo não contém um formato de imagem válido ou o GDI+ não suporta o formato de pixel para o arquivo. b) FileNotFoundException - O arquivo de imagem indicado não existe. Assim, é sempre uma boa idéia colocar o código acima em um bloco try..catch. Veja como isso pode ser feito:
private void button1_Click_1(object sender, EventArgs e){
try{
// constrói um objeto Image a partir do endereço da image
Image imagem = Image.FromFile(@"C:\estudos_csharp_wf\logoi.jpg");
// atribui a imagem construída à propriedade Image
pictureBox1.Image = imagem;
}
catch (Exception ex){
MessageBox.Show("Houve um erro ao carregar a imagem: " +
ex.Message.ToString());
}
}
Há uma sobrecarga do método FromFile() com a seguinte assinatura: public static Image FromFile(string filename, bool useEmbeddedColorManagement) |
React.js ::: Dicas & Truques ::: Passos Iniciais |
Aprenda a desenvolver aplicações React diretamente no HTML, sem usar a ferramenta create-react-appQuantidade de visualizações: 2032 vezes |
|
Embora seja recomendável usar a ferramenta create-react-app para criar suas aplicações React, às vezes gostaríamos de testar algumas idéias diretamente no código HTML, ou seja, sem precisar passar pelo processo "npx create-react-app" -> "npm start" -> "npm run build". Tudo que temos que fazer é incluir três scripts, a saber, react.production.min.js, react-dom.production.min.js e babel.min.js. Estes scripts estão disponíveis para inclusão via CDN (o mais recomendado) ou você pode baixá-los para uso local, o que, com certeza, vai deixar o processo de desenvolvimento ainda mais rápido. Para obter os CDS ou fazer o download individual dos mesmos, basta pesquisá-los no Google por seus nomes. Nesta dica eu optei por baixar os scripts e rodá-los a partir da minha máquina de desenvolvimento. Os dois primeiros scripts nos permitem escrever código React em nossos códigos JavaScript, e o terceiro, babel.min.js, nos permite usar a síntáxe JSX (JavaScript XML) e também dar suporte ao JavaScript ES6 para os navegadores mais antigos. Então, vamos escrever código? Veja a listagem a seguir:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Estudos React</title>
<script src="js/react.production.min.js"></script>
<script src="js/react-dom.production.min.js"></script>
<script src="js/babel.min.js"></script>
</head>
<body>
<h1>Primeira aplicação React direto no HTML</h1>
<div id="minha_app"></div>
<script type="text/babel">
// vmaos criar um novo compomente React
class Mensagem extends React.Component{
render() {
return <h1>Olá, bem-vindo(a) ao React!</h1>
}
};
// vamos exibir o componente Mensagem na div minha_app
ReactDOM.render(<Mensagem />, document.getElementById('minha_app'));
</script>
</body>
</html>
Ao abrir esta página no navegador teremos o seguinte resultado: Primeira aplicação React direto no HTML Olá, bem-vindo(a) ao React! Pronto! Agora você pode testar idéias no React de forma bem rápida e fácil. Mas, lembre-se, em aplicações mais complexas, o uso da ferramenta create-react-app continua sendo o mais recomendado. |
Veja mais Dicas e truques de React.js |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




