OOP terminología en Ruby y C ++

10

Estoy tomando una clase de C ++ en mi escuela. Desde que programé en Ruby, sé algunas cosas de OOP.

Pero en C ++ hay funciones miembro, variables miembro y funciones estáticas. En Ruby tenemos métodos de instancia, variables de instancia y variables de clase. Y hay más ...

¿Alguna razón por la que son diferentes? ¿Son niveles bastante diferentes de POO? ¿O solo algunas diferencias en la tradición que tienen estos ecosistemas?

Li Song
fuente

Respuestas:

4

La instancia en Ruby y el miembro en C ++ son efectivamente lo mismo, por lo que las variables de instancia y las variables de miembro son las mismas, al igual que los métodos de instancia y las funciones de miembro.

Sin embargo, los miembros estáticos son algo diferentes de las variables de clase en Ruby ya que el modelo de objetos Ruby es bastante diferente a C ++. En Ruby, las clases son objetos, por lo que las variables de clase son variables de instancia de un objeto de clase.

Sotavento
fuente
6

Son solo nombres diferentes para la misma cosa. Ves lo mismo con la herencia: base versus padre vs.súper clases. Los maestros de escuela y las personas que solo conocen un idioma a veces serán muy pedantes con los términos. En la industria, encontrarás personas que se mezclan y combinan con más frecuencia.

Karl Bielefeldt
fuente
0

Los conceptos, o como los llama niveles, de OOP son similares o iguales en todos los idiomas de OO y muchas de las diferencias en la terminología surgen de la historia y la tradición de los idiomas y sus ecosistemas. Es por eso que está viendo diferentes términos utilizados para describir conceptos muy similares cuando compara los dos idiomas.

Timo Geusch
fuente