Terminologia OOP em Ruby e C ++

10

Estou fazendo uma aula de C ++ na minha escola. Desde que programei em Ruby, conheço algumas coisas sobre OOP.

Mas em C ++ existem funções de membro, variáveis ​​de membro e funções estáticas. No Ruby, temos métodos de instância, variáveis ​​de instância e variáveis ​​de classe. E tem mais ...

Algum motivo para serem diferentes? Eles são níveis bastante diferentes de POO? Ou apenas algumas diferenças na tradição desses ecossistemas?

Li Song
fonte

Respostas:

4

Instância em Ruby e membro em C ++ são efetivamente a mesma coisa; portanto, variáveis ​​de instância e variáveis ​​de membro são iguais, assim como métodos e funções de membro de instância.

No entanto, os membros estáticos são um pouco diferentes das variáveis ​​de classe no Ruby, pois o modelo de objeto Ruby é bastante diferente do C ++. No Ruby, classes são objetos, portanto, variáveis ​​de classe são variáveis ​​de instância de um objeto de classe.

Lee
fonte
6

Eles são apenas nomes diferentes para a mesma coisa. Você vê a mesma coisa com herança: base vs. pai vs. superclasses. Professores e pessoas que conhecem apenas um idioma às vezes são muito pedantes quanto aos termos. Na indústria, você encontrará pessoas misturando e combinando com mais frequência.

Karl Bielefeldt
fonte
0

Os conceitos - ou como você os chama, níveis - de POO são semelhantes ou iguais nos idiomas OO e muitas das diferenças na terminologia surgem da história e tradição das línguas e de seus ecossistemas. É por isso que você vê termos diferentes usados ​​para descrever conceitos muito semelhantes ao comparar os dois idiomas.

Timo Geusch
fonte