Leobreda.Net
HTML | DHTML | JavaScript | DOM | Ajax | Asp | Asp.net | PHP | Ms. SQL | MySQL
Pesquisa por: erro cs0246
13 de dezembro de 2008 14:48536 visitas
Trabalhar com classes hoje em dia, fica fácil quando se desenvolve em mais de um ambiente, onde a entrada e saída de resultados é a mesma.
Imagine as seguintes situações em um site de comércio eletrônico:
Ficaria difícil criar uma página para cadastro, e duplicá-las vendo que há muitos trechos do código-fonte totalmente iguais.
Resumindo: classe é uma maneira de reutilizar blocos de códigos repetitivos, com entrada e saída de dados.
A seguir, utilizei o conceito de classe para aprendizagem. Ficaria difícil aprender seguindo os tutoriais do Macoratti sem ter pelo menos uma aprendizagem básica.
Esta é uma tela na qual digito o nome e a idade.

Ao clicar no botão Calcular, a página é recarregada, me devolvendo a soma da idade, e concatena o nome na pessoa

Arquivo Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml">
<table style="border: 1px solid #eaeaea; margin: auto;" border="0" cellpadding="0" cellspacing="5">
<tr>
<td>Pessoa</td>
<td><input name="NOME" id="NOME" size="30" runat="server" type="text"></td>
</tr>
<tr>
<td>idade</td>
<td><input name="IDADE" id="IDADE" size="5" maxlength="5" runat="server" type="text">+ 7</td>
</tr>
<tr>
<td colspan="2" style="text-align: center;">
<asp:button id="calcularButton" runat="server" text="Calcular" onclick="calcularButton_Click"></asp:button>
</td>
</tr>
<tr>
<td>Pessoa</td>
<td id="NOME_FINAL" runat="server">???</td>
</tr>
<tr>
<td>Idade</td>
<td id="IDADE_FINAL" runat="server">???</td>
</tr>
</table>
Arquivo Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using pessoa;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void calcularButton_Click(object sender, EventArgs e)
{
Pessoa calcular = new Pessoa();
calcular.Nome = NOME.Value.ToString();
calcular.Idade = Convert.ToInt32(IDADE.Value.ToString());
calcular.SomaIdade();
calcular.ConcatenaNome();
IDADE_FINAL.InnerHtml = Convert.ToString(calcular.Idade);
NOME_FINAL.InnerHtml = Convert.ToString(calcular.Nome);
}
}
Arquivo pessoa.cs
using System;
using System.Data;
using System.Configuration;
namespace pessoa
{
public class Pessoa
{
#region Variáveis locais
string _nome;
int _idade;
int _idadeFinal;
#endregion
public string Nome { get { return _nome; } set { _nome = value; } }
public Int32 Idade { get { return _idade; } set { _idade = value; } }
public void SomaIdade()
{
Idade = _idade + 7;
}
public void ConcatenaNome()
{
Nome += " Fulano";
}
}
}
Funcionamento:
1. Ao clicar no botão Calcular, a função calcularButton_Click é acionada.

2. Na função calcularButton_Click:
AMARELO: Criado o objeto calcular, onde é instanciado a classe Pessoa() (veremos mais a frente).
VERMELHO: A propriedade Nome recebe o valor NOME. A propriedade Idade recebe o valor IDADE.
AZUL: chamamos o método SomaIdade() e ConcatenaNome(), que estão dentro da classe Pessoa().
VERDE: mandamos para os objetos da página IDADE_FINAL e NOME_FINAL os valores processados internamente em calcular.Idade e calcular.Nome

NOTA: Caso você não declarar o namespace pessoa (using pessoa;), poderá ocorrer um erro de que a Classe Pessoa() não existe:
Erro de Servidor no Aplicativo '/'.
|
Linha 18: protected void calcularButton_Click(object sender, EventArgs e) |
Para contornar este erro, declare o namespace pessoa no arquivo Default.aspx.cs:

3. Classe pessoa:
VERDE: declaração de variáveis locais.
AMARELO: atribui o valor das variáveis locais através dos Atributos (calcular.Nome e calcular.Idade) da classe Pessoa().
VERMELHO: Métodos da classe: SomaIdade() altera o valor da propriedade calcular.Nome, e ConcatenaNome altera o valor da propriedade calcular.Pessoa.

Para visualizar no modo gráfico como ficou sua classe, clique com o botão direito no arquivo pessoa.cs, e clique na opção View Class Diagram:
![]() |
![]() |
Para ser mais claro, os métodos de uma classe, internamente, se resumem a funções/procedimentos na qual realizam determinadas tarefas de uma forma automatizada. Digo forma automatizada porque com o tempo, estaremos utilizando-as constantemente, que para nós, não interessa o funcionamento interno; basta fazer no que lhe for determinado e nos traga o resultado final.