Dato che intendo solo costruttori sovraccaricati per uso pubblico per creare le istanze di classe, vorrei rendere privato il costruttore principale. È possibile in Scala?Posso rendere privato il costruttore principale mantenendo pubblici i costruttori ausiliari in Scala?
20
A
risposta
25
Sì, è possibile:
class A private (x: Int) {
def this() = this(42)
}
5
Sì - è possibile determinare la visibilità del costruttore principale specificando i modificatori dopo il nome della classe, ad esempio:
class Foo private (a: Int, b: String) {
// ...
}
e poi naturalmente i costruttori ausiliari può ancora (in realtà, deve) di riferimento questo costruttore principale, pur essendo dichiarato come pubblico.
Problemi correlati
- 1. Costruttori ausiliari Scala
- 2. Costruttore privato e costruttore parametri pubblici
- 3. Il costruttore privato Scala class di classe non è privato
- 4. Costruttore privato e protetto in Scala
- 5. fare un abstract di classe vs rendere il costruttore privato
- 6. Perché il metodo principale è privato?
- 7. Qual'è l'utilità dei costruttori pubblici nelle classi astratte in C#?
- 8. Come espongo gli argomenti del costruttore Scala come membri pubblici?
- 9. Scala: costruttori curry
- 10. privato costruttore
- 11. Posso rendere privato il costruttore di copie e utilizzare ancora l'implementazione predefinita
- 12. definire i propri eccezioni con costruttori di overload in scala
- 13. Classi sigillate di derisione senza costruttori pubblici?
- 14. Come posso utilizzare più costruttori per rimuovere il codice duplicato mantenendo la leggibilità?
- 15. Perché posso chiamare il costruttore privato dall'ambito globale?
- 16. Git: la fusione rami pubblici e privati, mentre mantenendo intatti alcuni file in entrambi i rami
- 17. Scala: è possibile sovrascrivere il costruttore di case case predefinito?
- 18. Perché è possibile utilizzare il costruttore predefinito privato in decltype()?
- 19. Scala costruttore astrazione
- 20. Difetti tra costruttori Scala malintesi
- 21. Costruttori in scala con varargs
- 22. È un costruttore di spostamento privato per impedire lo spostamento?
- 23. Parametri costruttore Scala
- 24. Posso combinare i costruttori in C#
- 25. estende della classe con il costruttore privato
- 26. classe astratta vs costruttore privato
- 27. Come rendere trasparente il modulo mantenendo il componente visibile?
- 28. Perché i costruttori di classi astratte devono essere protetti, non pubblici?
- 29. Perché un costruttore di classe base privato risulta in "Costruttore super implicito non visibile"
- 30. costruttori a Scala (primario/ausiliario/default primari)
È inoltre possibile chiamare il costruttore principale privato da l'oggetto associato; utile per i metodi di fabbrica. – retronym
Tuttavia, non funziona con classi di casi. – Jus12