[C con Clase] Metodos de clase y metodos de instancia, diferencia

Ferran Ferri ferranferri en gmail.com
Vie Dic 1 12:53:31 CET 2006


No es tan dificil. Mira, aquí tengo una clase
 
Class A{
    A(){
            printf(“soy un constructor”);
    }
    void funcA(){
            printf(“soy una funcion”);
    }
}
 
Esto es la declaracion de una clase. Tiene un metodo llamado funcA. Este
metodo es un metodo de instancia. Si le pusiera la palabra static se
convertiria en metodo de clase. La diferencia? Imagina que quisieramos hacer
una clase que cada vez que llamemos al constructor incremente un contador,
por ejemplo, para saber cuantas instancias tenemos de esa clase.
 
Class A{
    private:
           int b;
           static int contador;
    public:
    A(){
            printf(“soy un constructor”);
            A::contador++;
            b++
    }
    void funcA(){
            printf(“%d %d”,A::cont,b);
    }
}
 
Que estamos haciendo? Pues si te fijas en la clase, tenemos dato miembro
llamado b y otra llamada cont que es estatico. El estatico crecera siempre.
B sera siempre 1 (si esta correctamente inicializado, que aquí no esta). La
idea de las funciones es exactamente lo mismo. Cuando tienes una funcion de
clase, llamas a esa funcion sin necesidad de tener una instancia de la
clase, es decir, sin necesidad de habere creado antes un objeto de esa
clase. Cuando se usan este tipo de funciones? Cuando tienes una clase que
quieres llamar sin tener la seguridad de haberla creado, por ejemplo.
HYPERLINK "mailto:fferri en redsauce.net"Ferran Ferri
 
   _____  

From: cconclase-bounces en listas.conclase.net
[mailto:cconclase-bounces en listas.conclase.net] On Behalf Of Sergio Barcena
Sent: lunes, 27 de noviembre de 2006 11:39
To: Cconclase en listas.conclase.net
Subject: [C con Clase] Metodos de clase y metodos de instancia, diferencia
 
Hola este es mi primer mensaje en la lista :), y a parte de querer felicitar
a todos los que ayudan en ella pues queria preguntarles sobre una duda que
tengo hace algun tiempo y que no termino de entender.


Cual es la diferencia entre metodos de instancia y metodos de clase, tengo
que reconocer que tengo un lio bastante grande con la programacion orietada
a objetos y creo que hasta que no tenga clara esta filosofia de programacion
no podre abancar. 

Saludos
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.409 / Virus Database: 268.14.17/553 - Release Date: 27/11/2006

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.409 / Virus Database: 268.15.3/561 - Release Date: 01/12/2006
 
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20061201/845859b5/attachment.html>


Más información sobre la lista de distribución Cconclase