Méthode statique vs non statique
Une méthode est une série de déclarations qui sont effectuées pour effectuer une tâche spécifique. Les méthodes peuvent prendre des entrées et produire des sorties. Les méthodes statiques et non statiques sont deux types de méthodes présentes dans les langages de programmation orientés objet. Une méthode statique est une méthode associée à une classe. Une méthode associée à un objet est appelée méthode non statique (instance). Dans les langues orientées objet, les méthodes sont utilisées comme mécanisme pour fonctionner sur des données stockées dans des objets.
Qu'est-ce qu'une méthode statique?
Dans la programmation orientée objet, la méthode statique est une méthode associée à une classe. Par conséquent, les méthodes statiques n'ont pas la capacité de fonctionner sur une instance particulière d'une classe. Les méthodes statiques peuvent être invoquées sans utiliser un objet de la classe qui contient la méthode statique. Voici un exemple de définition d'une méthode statique en Java. La statique doit être utilisée lors de la définition d'une méthode statique en Java.
classe publique MyClass public static void mystatitMethod () // code de la méthode statiqueLa méthode statique définie ci-dessus pourrait être appelée comme suit en utilisant le nom de la classe à laquelle il appartient.
Ma classe.MyStaticMethod ();
Une chose importante à noter est que les méthodes statiques ne peuvent accéder qu'à des membres statiques.
Qu'est-ce qu'une méthode non statique?
Une méthode non statique ou une méthode d'instance est une méthode qui est associée à un objet dans une classe. Par conséquent, les méthodes non statiques sont appelées en utilisant un objet de la classe dans laquelle la méthode est définie. Une méthode non statique peut accéder aux membres non statiques ainsi qu'aux membres statiques d'une classe. Dans de nombreuses langues orientées objet (comme C ++, C #, Java), lorsqu'une méthode non statique est appelée, l'objet qui a invoqué la méthode est passé comme un argument implicite (il est appelé la référence «cette»). Ainsi, à l'intérieur de la méthode, ce mot-clé peut être utilisé pour se référer à l'objet qui a appelé la méthode. Voici un exemple de définition d'une méthode d'instance dans Java.
classe publique MyClass public void myinstanceMethod () // code de la méthode d'instance
La méthode d'instance définie ci-dessus pourrait être appelée comme suit en utilisant un objet de la classe à laquelle il appartient.
MyClass objmyClass = new myClass ();
objmyclass.MyInstanceMetHod ();
Quelle est la différence entre la méthode statique et non statique?
Les méthodes statiques sont des méthodes associées à une classe, tandis que les méthodes non statiques sont des méthodes associées à des objets d'une classe. Une classe doit être instanciée en premier pour invoquer une méthode non statique, mais les méthodes statiques n'ont pas cette exigence. Ils peuvent être simplement invoqués en utilisant le nom de la classe qui contient la méthode statique. Une autre différence importante est qu'une méthode non statique possède généralement une référence à l'objet qui a appelé la méthode et qu'il est accessible en utilisant ce mot-clé à l'intérieur de la méthode. Mais ce mot-clé ne peut pas être utilisé dans les méthodes statiques car elles ne sont pas associées à un objet particulier.