perguntinha

Delphi

21/12/2003

:wink: o que significa a palavra instanciar tipo ´instanciar uma variavel´ e mais uma coisa qual a difeença entre propriedade e metodos.


Joni

Joni

Curtidas 0

Respostas

Fvcbr

Fvcbr

21/12/2003

Ok.... A resposta mais detalhada para esta pergunta seria bem longa mas vou tentar ser breve.

Instanciar uma variavel nada mais eh do que criar uma copia (instancia) de um objeto na memoria (no caso de classes), e a variavel sera uma referencia ao objeto na memoria (em caso de classes por exemplo) ou um valor (no caso de uma struct ou um valor como um int ou string).


Metodos X Properties:

Metodos sao funcoes que podem ou nao retornar valor, metodos sau utilizados basicamente para executar tarefas e podem ser chamados no codigo. Ex:

public void MeuMetodo() //isto eh um metodo que nao retorna valor (void)
{
     //Implementa metodo
}

MeuMetodo(); // executa o metodo no codigo


Properties:

Properties nada mais sao do que uma forma de expor uma variavel de sua classe de uma forma que te habilita a execucao de codigo para promover qualquer tipo de validacao ou quando voce so deseja expor uma variavel somente para leitura ou escrita.
Ex:

public class MinhaClasse()
{
     private int _Numero;
     public int Numero
     {
              get
                {
                    return _Numero
                 }
               set
                 {
                    //codigo adicional para validar valor
                    _Numero = value;
                  }
       }
}


Para usar esta propriedade de nossa classe podemos fazer o seguinte:

MinhaClasse mc = new MinhaClasse();
mc.Numero = 12;
MessageBox.Show(mc.Numero.ToString());


Tentei ser o mais breve possivel, se tiver alguma pergunta me manda um email.

Fabio Cavalcante
MSN L2 RS
MCSD
tp_slc_facavalcante@msn.com


GOSTEI 0
Rfpsatin

Rfpsatin

21/12/2003

public class MinhaClasse()
{
     private int _Numero;
     public int Numero
     {
              get
                {
                    return _Numero
                 }
               set
                 {
                    //codigo adicional para validar valor
                    _Numero = value;
                  }
       }
}


ehehehe, ae Javeiro

ps... teu código não roda :lol: :lol:

ps2.. to brincando :lol: 8)


GOSTEI 0
Fvcbr

Fvcbr

21/12/2003

Bom... Isso foi so um exemplo e o codigo nao vai rodar realmente... Tentei escrever a mensagem rapidamente enquanto estava no trabalho mas vi que tenho que revisar o codigo que posto pra poder passar no controle de qualidade aqui! :D hehehehe Bom... o codigo com as correcoes eh:


public class MinhaClasse 
{ 
private int _Numero; 
public int Numero 
{ 
get 
{ 
return _Numero;
} 
set 
{ 
//codigo adicional para validar valor 
_Numero = value; 
} 
} 



GOSTEI 0
POSTAR