Considere esta situación: tengo un simulador de acuario en el que tengo 5 tipos diferentes de peces. Los diferentes tipos significan diferentes atributos (velocidad, color, hambre, etc.). ¿Qué sucede si quiero que el usuario de mi simulador pueda crear un nuevo tipo de pez y darle sus valores por sus atributos?¿Nuevas clases creadas por los usuarios?
¿Cómo es implementado por el programador? ¿Necesito algún tipo de "manejo de eventos" que agregará un grupo específico de líneas de código en mi clase "Fish"? ¿Es eso incluso un pensamiento válido?
(En caso de que sea esencial, el lenguaje es Java. Y para evitar malentendidos y evitar comentarios como "¿funciona esta unidad?", Sí lo es. Pero no estoy buscando LA respuesta, tengo curiosidad por la concepto.)
EDIT: Sí, es malo que no mencioné la forma de interacción: una GUI.
Imagine una pestaña llamada "Agregar nuevas especies" que tiene un campo para cada atributo de los peces (tipo, velocidad, color, etc.). Entonces, el usuario rellena los campos con los valores apropiados y cuando hace clic en "agregar" se llama al constructor. Al menos así es como lo imagino. :)
Interesante. Metaclases de Java en acción. –