Terminologi OOP di Ruby dan C ++

10

Saya mengambil kelas C ++ di sekolah saya. Karena saya sudah memprogram di Ruby saya tahu beberapa hal OOP.

Tetapi dalam C ++ ada fungsi anggota, variabel anggota, dan fungsi statis. Di Ruby kita memiliki metode instan, variabel instan, dan variabel kelas. Dan masih ada lagi ...

Apa alasan mereka berbeda? Apakah mereka level OOP yang sangat berbeda? Atau hanya beberapa perbedaan tradisi yang dimiliki ekosistem ini?

Li Song
sumber

Jawaban:

4

Instance di Ruby dan anggota di C ++ secara efektif adalah hal yang sama, jadi variabel instan dan variabel anggota adalah sama, seperti metode instance dan fungsi anggota.

Namun, anggota statis agak berbeda dari variabel kelas di Ruby karena model objek Ruby sangat berbeda dengan C ++. Di Ruby, kelas adalah objek, jadi variabel kelas adalah variabel instan dari objek kelas.

Lee
sumber
6

Mereka hanya nama yang berbeda untuk hal yang sama. Anda melihat hal yang sama dengan warisan: kelas vs induk vs kelas super. Guru sekolah dan orang-orang yang hanya tahu satu bahasa kadang-kadang akan sangat pedantik tentang istilah tersebut. Dalam industri Anda akan menemukan orang-orang lebih sering bergaul dan cocok.

Karl Bielefeldt
sumber
0

Konsep - atau sebagaimana Anda menyebutnya, level - dari OOP serupa atau sama di seluruh bahasa OO dan banyak perbedaan dalam terminologi yang muncul dari sejarah dan tradisi bahasa serta ekosistemnya. Itu sebabnya Anda melihat istilah berbeda yang digunakan untuk menggambarkan konsep yang sangat mirip ketika Anda membandingkan kedua bahasa.

Timo Geusch
sumber