Bueno, estoy aprendiendo Scala, así que esta pregunta puede ser demasiado básica para la mayoría de las personas.Scala: ¿cómo heredar una "ranura estática"?
En Java, puedo tener una ranura estática (función o variable) en una clase, y también tendré esa ranura en las clases heredadas.
En Scala no tengo ranuras estáticas, pero tengo objetos complementarios. Pero estoy descubriendo que esos objetos no son parte de la clase heredada, así que si tengo dos clases Person
y Student
, y Person tiene un objeto complementario con una variable all:List
que devuelve una lista de todas las personas para que pueda hacer Person.all
, También esperaba poder hacer Student.all
, pero ese no es el caso.
¿Hay alguna forma de obtener el mismo comportamiento que obtendría en Java?
Gracias!
El error es que hay dos copias separadas de la lista. El hecho es que no todo es una lista, sino una referencia. De nada. –
Era bastante nuevo en Scala cuando escribí este comentario. Ahora me doy cuenta de que el rasgo de Walter Chang declara una referencia no inicializada, por lo que su código no contiene 2 copias de la lista. En mi código, olvido inicializar val List [Person] = List(). Con ese cambio, ¿mi código sería correcto? –