Hola
Según entiendo una clase si o si debe tener atributos, mientras que las interfaces no los tienen y ademas todos sus métodos son abstractos. En la POO existe algo que no tenga atributos y que tenga métodos definidos (no abstractos)? En caso que exista, se puede decir que esto hereda de la interfaz? (esto: no tiene atributos e implementa todos los métodos de la interfaz).
Nota: entiendo que las clases implementan a la interfaz (y no heredan), pero de lo que hablo no es una clase por eso me surge la duda.
Gracias
vos podes hacer metodos que no usen los atributos de la clase o una clase llena de estos metodos aunque no se si encontras una razon para que exista una clase asi.
si heredas tambien heredas no solo los metodos si no tambien los atributos de la clase ancestro.
en smalltalk no existen las interfaces entonces si queres compartir o obligar a una clase a tener uno o mas metodos tenes que heredar.
Hola Jesús:
Según entiendo una clase si o si debe tener atributos
Esto no es así. Una clase puede o no tener atributos. Si bien no es habitual que no los tenga, sí es algo posible dentro del enfoque de la orientación a objetos dado que lo importante de un objeto es su comportamiento. En ese caso serían objetos stateless y el mejor ejemplo es el de varias clases de la Máquina expendedora de bebidas vista en clase
En la POO existe algo que no tenga atributos y que tenga métodos definidos (no abstractos)? En caso que exista, se puede decir que esto hereda de la interfaz? (esto: no tiene atributos e implementa todos los métodos de la interfaz).
Sí, existe y puede ser una simple clase abstracta. Las interfaces son artilugios que existen en Java pero en Smalltalk no son necesarias ya que es de tipado dinámico.
Salduos,
Tomás