Quelle est la différence entre les méthodes statique et objet? Où et pourquoi sont-ils utilisés différemment? Quand dois-je utiliser lequel de ceux-là?différence entre l'objet et les méthodes statiques
Répondre
Avec des méthodes d'objet vous devez instancier la classe afin d'utiliser la méthode de sorte dire écorce est une méthode d'objet
Dog monChien = new Dog(); myDog.Bark();
Mais maintenant, disons que Bark était une méthode statique. Je pourrais juste faire: Dog.Bark(); Donc, une méthode statique fonctionne sur une classe, pas sur un objet.
Les méthodes statiques sont utiles lorsque vous souhaitez créer une classe d'utilitaires globale. De cette façon, vous n'avez pas besoin de passer un objet juste pour utiliser les méthodes de cette classe d'utilitaires.
Les méthodes statiques ne sont instanciées qu'une seule fois dans l'espace mémoire.
Les méthodes d'instance requièrent une instance de la classe à appeler. La référence d'instance peut être considérée comme un premier paramètre invisible, auquel on peut accéder dans la méthode en utilisant le mot-clé 'this' en C#, C++ et Java. Les méthodes statiques peuvent être appelées sans une instance de la classe. Ils peuvent uniquement accéder aux instances de la classe si elles sont transmises en tant que paramètres.
En règle générale, utilisez une méthode d'instance lorsque la méthode effectue une opération sur une seule instance. Utilisez une méthode statique lorsque la méthode effectue une opération sur plusieurs instances ou ne requiert aucune instance.
PHP manual est très bref à ce sujet. Mais static
est très bien expliqué dans le livre "PHP 5 Programmation Power":
- Static properties
- Static methods
- Singleton pattern (faites défiler jusqu'à la section singleton là)
- 1. Différence entre les méthodes PrintWriter.printf et PrintWriter.format
- 2. Différence entre les méthodes de classe et les méthodes d'instance?
- 3. Différence entre les métadonnées personnalisées et les fonctions statiques?
- 4. différence entre les expressions lambda et les méthodes anonymes - C#
- 5. Différence entre Scrum et d'autres méthodes Agile?
- 6. Différence entre jquery.simulate.js et les méthodes d'événement jQuery?
- 7. Quelle est la différence entre les méthodes GET et POST?
- 8. ADODB: différence entre les méthodes ADDNEW et UPDATE?
- 9. méthodes statiques et tests unitaires
- 10. Blocs synchronisés pour les méthodes statiques et non statiques
- 11. Méthodes statiques et méthodes d'instance en mémoire
- 12. MVVM ViewModel et méthodes statiques
- 13. méthodes statiques/champs et WCF
- 14. Unité dans les méthodes statiques
- 15. une différence entre ces deux méthodes dealloc?
- 16. Quelle est la différence exacte entre les deux méthodes HitTest
- 17. Quelle est la différence entre - (void) et + (void) méthodes
- 18. Différence entre les méthodes de commutation des onglets
- 19. Quelle est la différence entre les paquets android.opengl et javax.microedition.khronos.opengles?
- 20. Utilisation de la mémoire d'objet AS3 avec les méthodes statiques et les méthodes d'instance
- 21. Différence entre les fermetures et les lambdas?
- 22. Différence entre les listes et les tableaux
- 23. Vars Clojure et méthodes statiques Java
- 24. Java: Différence entre les méthodes setPreferredSize() et setSize() dans les composants
- 25. Quelle est la différence entre les méthodes et les attributs dans Ruby?
- 26. La différence entre les champs et les méthodes annoter dans JPA (Hibernate)?
- 27. Quelle est la différence entre les méthodes anonymes (C# 2.0) et les expressions lambda (C# 3.0)?
- 28. Différence entre les rappels de client et les méthodes de page Ajax - ASP.NET
- 29. Méthodes de classe et d'instance de différence
- 30. Architecture en couches et méthodes statiques