0
votes

Objet vs compagnon objet en classe

Qu'est-ce qui est différent entre usine et Factory2 ? Ils semblent tous les deux faire la même chose. XXX


2 commentaires

Dupliqué possible de Kotlin: différence entre objet et objet de compagnon dans une classe


Mais cela ne répond pas à ce qui est l'avantage de l'objet compagnon sur l'objet?


3 Réponses :


2
votes

Un objet compagnon est un type spécifique de déclaration d'objet permettant à un objet d'agir de manière similaire aux objets statiques dans d'autres langues (telles que Java). Ajout d'un compagnon à la déclaration d'objet permet d'ajouter la fonctionnalité "statique" à un objet même si le concept statique réel n'existe pas dans Kotlin.


0 commentaires

0
votes

Propriétés et fonctions déclarées dans un objet compagnon peut être accès directement à l'aide du nom de la classe, identique à celui des membres statiques en Java.

Donc, dans votre code, la fonction Makecar d'usine peut être appelée à deux manières suivantes

Car.Factory2.makeCar(50) // From outside the class
Factory2.makeCar(50)     // Inside the class


0 commentaires

0
votes

objet fort> à Kotlin est un moyen de mettre en œuvre des singletons.

class MyClass {

  // some implementations
  
  companion object {
    val SOME_STATIC_VARIABLE = "STATIC_VARIABLE"
    fun someStaticFunction() {
      // static function implementation
    }
  }
}


0 commentaires