Méthode statique ou non statique
Une méthode est une série d'instructions exécutées pour exécuter une tâche spécifique. Les méthodes peuvent prendre des intrants et produire des extrants. 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 langages orientés objet, les méthodes sont utilisées comme mécanisme pour opérer 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 appelé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. Le statique doit être utilisé lors de la définition d'une méthode statique en Java.
public class MyClass {public static void MyStaticMethod () {// code de la méthode statique}
}
La méthode statique définie ci-dessus peut être appelée comme suit en utilisant le nom de la classe à laquelle elle appartient.
MyClass. MyStaticMethod ();
Une chose importante à noter est que les méthodes statiques ne peuvent accéder qu'aux 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 associée à un objet dans une classe. Par conséquent, les méthodes non statiques sont appelées à l'aide d'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 nombreux langages orientés objet (tels que C ++, C #, Java), lorsqu'une méthode non statique est appelée, l'objet qui a appelé la méthode est passé comme argument implicite (il est appelé la référence «this»). Ainsi, à l'intérieur de la méthode, ce mot-clé peut être utilisé pour faire référence à l'objet qui a appelé la méthode. Voici un exemple de définition d'une méthode d'instance en Java.
public class MyClass {public void MyInstanceMethod () {// code de la méthode d'instance}
}
La méthode d'instance définie ci-dessus peut être appelée comme suit en utilisant un objet de la classe à laquelle elle 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 aux objets d'une classe. Une classe doit d'abord être instanciée pour invoquer une méthode non statique, mais les méthodes statiques n'ont pas cette exigence. Ils peuvent être simplement appelé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 elle est accessible à l'aide du mot-clé this à l'intérieur de la méthode. Mais ce mot-clé ne peut pas être utilisé dans les méthodes statiques car ils ne sont pas associés à un objet particulier.