Overriding - Ruby Programming
Merupakan sebuah metode yang digunakan dalam bahasa pemrograman OOP dalam hal pemanggilan method dari sebuah class yang memiliki keturunan dari parent nya (membingungkan yah bahasanya -__-). Ok, langsung saja kita buat sebuah contoh. Kita memiliki dua buah class, yang pertama merupakan class parent dan satu lagi class children yang merupakan keturunan dari class parent. Langsung lihat saja contohnya dibawah ini :class Parent
def say_hello
puts "hello from parent"
end
end
class Children < Parent
def say_hello
puts "holla from children"
end
end
Kemudian kita lakukan percobaan seperti berikut ini :
child = Children.new
child.say_hello # holla from children
Disana terdapat dua buah method dengan nama yang sama, yaitu method "say_hello". class Parent dan class Children memiliki method tersebut. Akan tetapi mengapa method "say_hello" milik class Children yang dieksekusi ? kemudian class Children merupakan keturunan dari class Parent, bagaimana tuh ?
Kita tidak perlu bingung, karena alur kerja interpreter pada proses ini adalah dengan cara mencari method tersebut pertama kali di dalam class yang dijadikan object (yaitu class Children), jika method tersebut dimiliki oleh class Children maka method tersebut lah yang dieksekusi.
Nah, jika method "say_hello" tersebut tidak ditemukan di dalam class Children maka interpreter akan mengecek apakah class Children tersebut merupakan keturunan dari class lain, jika benar maka method tersebut akan dicari di dalam class parent nya. Contoh disini maka akan dicari di dalam class Parent, jika method ditemukan maka method "say_hello" yang berada di class Parent yang akan dieksekusi.
Jika masih tidak ditemukan saja, maka interpreter akan mengecek kembali apakah class Parent tersebut merupakan keturunan dari class lain. Jika tidak maka yaa akan ditampilkan pesan bahwa method tidak dikenal.
Begitulah singkat mengenai tutorial Overriding pada Ruby.
Let's share :)
No comments:
Post a Comment