La programación orientada a objetos (POO) nos trajo muchas cosas lindas: encapsulación, herencia, polimorfismo, y sobre todo, la posibilidad de inventarnos familias disfuncionales de clases sin necesidad de pasar por terapia.
Pero hay algo que siempre nos hizo ruido:
- ¿Por qué hablamos de clases padre y clases hijas?
- ¿Dónde quedaron las madres, los tíos, las primas, o la abuela que todo lo sabe?
Lo más raro es que una clase padre puede ser hija de otra clase. Rarisisimo...
Todo empieza con el inglés. En POO se habla de parent class para referirse a la clase de la cual heredan otras. Y parent, significa “padre o madre”.
Pero claro, en español, por alguna razón misteriosa que seguro involucra a la Real Academia, siempre traducimos parent class como “clase padre”, y no “clase madre” o “clase progenitor/a” (aunque esa última suena a trámites en ANSES).
Entonces… ¿por qué decimos “clase hija”? Acá la gramática mete la cuchara. Como la palabra “clase” es femenina, cuando hablamos de su descendencia lógica usamos “hija” para que concuerde: La clase padre tiene muchas clases hijas.
¿Y si dijéramos “clase madre”?
¡Podemos! No hay ninguna ley que lo impida. De hecho, si queremos romper esquemas y escribir:
class Mamífero // clase madre
class Perro extends Mamífero // clase hija
...nadie de Scala te va a venir a buscar. Al contrario, tal vez sumes puntos con tus profes de literatura.
Eso sí, el término "clase madre" no es tan común, así que si lo usás, preparate para explicar o educar. (O poner una nota al pie tipo “uso madre porque soy inclusivo/a y rebelde”).
La POO no distingue género, pero el lenguaje humano sí. Y en nuestra necesidad de ponerle nombre a todo, terminamos replicando convenciones culturales sin cuestionarlas.
¿Querés decir clase madre? ¡Decilo!
¿Preferís clase base? ¡También está bien!
Lo importante es que tus clases compilen… y que no traumen a sus hijas.