La differenza tra un metodo statico e metodo della classe

February 28

Un metodo è una subroutine in un linguaggio di programmazione orientata agli oggetti che è associato con una classe. Due tipi di metodi sono metodi di classe e metodi statici. La differenza principale tra i due tipi è come vengono utilizzati con gli oggetti di classe in un programma. La maggior parte dei principali linguaggi di programmazione e di scripting fanno uso di entrambi i tipi di metodo, tra cui C ++, Java, PHP, Python e Perl.

Sintassi

Indipendentemente dal linguaggio di programmazione utilizzato, la sintassi per creare metodi di classe e metodi statici appare abbastanza simile. Tuttavia, la maggior parte delle lingue hanno la parola riservata "statica" che è possibile includere nelle dichiarazioni di metodo statico. Non è necessario includere esplicitamente questa parola chiave, ma in questo modo aiuta a distinguere tra i due tipi di metodi quando voi o altri programmatori esaminare il codice. Nel programma, è possibile chiamare i metodi statici in qualsiasi punto, ma non è possibile utilizzare i metodi della classe senza prima creare un oggetto di classe.

Oggetti

Una chiamata a una statica record metodo o dati manipola comuni a tutti gli oggetti di classe durante una chiamata a un metodo di classe manipola solo le proprietà di un oggetto di classe specifica. È possibile utilizzare metodi di classe per inizializzare oggetti di classe, come ad esempio con i metodi costruttori, o per impostare o ottenere i valori e le proprietà appartenenti a tali oggetti. I metodi statici non usano oggetti o fare riferimento a loro. Non diventano una parte dell'oggetto di classe.

Puntatori e variabili

Pseudo-puntatori e variabili - come "questo" in C ++ o "$ this" in PHP - fanno riferimento all'indirizzo salvata di un oggetto. È possibile utilizzare questi elementi in un membro della classe per fare riferimento all'oggetto che ha chiamato il metodo di classe. Tuttavia, i metodi statici non interagiscono con gli oggetti di classe, quindi non è possibile utilizzare questi pseudo-puntatori e variabili a metodi statici, né è possibile utilizzare le variabili definite all'interno di metodi di classe sia.

valori restituiti

In primo luogo, metodi di classe che restituiscono valori sono "impostati" metodi. È possibile utilizzare questi metodi per ottenere le proprietà degli oggetti. Di solito non si passa alcun parametro attraverso a questi metodi, che consistono in solo poche righe di codice. I metodi statici si basano su valori si passa a loro. È possibile utilizzare questi valori in alcuni calcuations aggiuntivi nel metodo, che può richiedere solo poche righe di codice o essere molto più lungo, quindi restituire un valore che si utilizza nel programma o salvare una variabile.