Je lis l'exemple 5.2.2 de http://www.scala-lang.org/docu/files/ScalaReference.pdf ==>L'héritage en scala sans utiliser mot-clé extends
Exemple 5.2.2
Un langage utile pour empêcher les clients d'une classe de construire de nouvelles instances de cette catégorie consiste à déclarer la classe abstraite et scellé :
object
m {
abstract sealed class
C (x: Int) {
def nextC = new C(x + 1) {} } val= empty = new C(0) {}
}
Par exemple, dans le code ci-dessus Les clients peuvent créer des instances de la classe m.c que par Call- la méthode ing NEXTC d'un existant m.c objet ; il n'est pas possible pour les clients de créer objets de la classe m.C directement. En effet, les deux lignes suivantes sont à la fois dans l'erreur:
new m.C(0) **** error: C is abstract, so it cannot be instantiated.
new m.C(0) {} ****error: illegal inheritance from sealed class.
====
Je ne peux pas comprendre comment l'héritage est déclaré !! Merci
Pourquoi avez-vous utilisé le mot clé ici? Pouvons-nous l'utiliser avec classe aussi? parce que je sais que c'est réservé pour trait! @Aleksey – SaKou
Je voulais juste montrer différentes façons d'instancier la classe, mais dans le but de cette réponse 'with 'n'est pas nécessaire. –