Tecnología

Inicio

La diferencia entre un método estático y método de las clases

Un método es una subrutina en un lenguaje de programación orientado a objetos que se asocia con una clase. Hay dos tipos de métodos son los métodos de clases y métodos estáticos. La principal diferencia entre los dos tipos es la forma en que se utilizan con objetos de clase en un programa. La mayoría de los principales lenguajes de programación y script hacen uso de ambos tipos de métodos, incluyendo C ++, Java, PHP, Python y Perl.

Sintaxis

Independientemente del lenguaje de programación que utiliza, la sintaxis para crear métodos de clases y métodos estáticos parece bastante similar. Sin embargo, la mayoría de los idiomas tienen la palabra reservada "estática" que se pueden incluir en declaraciones de métodos estáticos. No es necesario incluir de forma explícita esta palabra clave, pero al hacerlo ayuda a diferenciar entre los dos tipos de métodos cuando u otros programadores examina el código. En el programa, puede llamar a métodos estáticos en cualquier momento, pero no puede utilizar los métodos de clase sin crear primero un objeto de clase.

Objetos

Una llamada a un método estático registros o manipula los datos comunes a todos los objetos de la clase mientras que una llamada a un método de clase sólo manipula las propiedades de un objeto de una clase específica. Se utilizan los métodos de clase para inicializar objetos de clase, como con los métodos constructores, o para establecer u obtener los valores y las propiedades que pertenecen a esos objetos. Los métodos estáticos no utilizan objetos o hacen referencia a los mismos. No se conviertan en una parte de la clase de objeto.

Punteros y variables

Los pseudo-punteros y variables - como "este" en C ++ o "$ this" en PHP - hacen referencia a la dirección de salvado de un objeto. Puede utilizar estos elementos en un miembro de la clase para hacer referencia al objeto que llama al método de clase. Sin embargo, los métodos estáticos no interactúan con los objetos de la clase, por lo que no pueden utilizar estos pseudo-punteros y variables en los métodos estáticos, ni se puede utilizar variables definidas dentro de los métodos de clase tampoco.

Valores devueltos

En primer lugar, los métodos de clase que devuelven valores se "ajusta" métodos. Utiliza estos métodos para obtener las propiedades del objeto. Por lo general, no pasa ningún parámetro a través de estos métodos, que consisten en sólo unas pocas líneas de código. Los métodos estáticos se basan en los valores se pasan a ellos. Utiliza estos valores en algunos calcuations adicionales en el método, que sólo puede tomar unas pocas líneas de código o ser mucho más largo, a continuación, devolver un valor que se utiliza en el programa o guardar en una variable.