Friday, August 23, 2013

Method : Ruby Programming

Method - Ruby Programming

Di dalam sebuah class (bahasa pemrograman OOP) akan tersimpan banyak sekali method yang memiliki fungsi berbeda-beda sesuai dengan kebutuhan. Pada bahasa pemrograman Ruby, method ini dibedakan menjadi dua yaitu :

- Class method
- Instant method

Mari kita bahas satu-satu (asseeekk!!) :D

Class method merupakan sebuah method yang dibuat didalam suatu class yang penamaan method nya tersebut menggunakan (self.) atau nama method itu sendiri. Contoh :

class Student
  def initialize
    @name = "Frank Lampard"
    @address = "Chelsea"
  end

  def self.name # ini merupakan contoh class method menggunakan self
    puts @name
  end

  def Student.address # class method menggunakan nama class itu sendiri
    puts @address
  end
end

Dengan menggunakan class method ini, kita dapat mengakses nya dengan cara yang lebih simpel, yaitu :

student_name = Student.name # Frank Lampard
student_address = Student.address # Chelsea

# setelah pemanggilan nama class nya langsung diikuti oleh nama method nya, tanpa harus memasukkan seluruh object yang terdapat di dalam class Student ke dalam variabel. Hasil dari code diatas adalah variabel student_name akan terisi otomatis oleh string "Frank Lampard" dan variabel student_address akan terisi otomatis oleh string "Chelsea"

Instant method merupakan sebuah method di dalam class yang dibuat tanpa menggunakan (self.) atau nama class itu sendiri, hanya menggunakan nama method itu sendiri saja. Contoh :

class Student
  def initialize
     @name = "Frank Lampard"
     @address = "Chelsea"
  end

  def name # tanpa menggunakan (self.) atau nama class itu sendiri
    puts @name
  end

  def address
    puts @address
  end
end

Pada saat kita ingin mengakses method yang telah dibuat di dalam class Student, kita wajib memasukkan membuat sebuah variabel baru yang akan digunakan untuk menampung method atau object-object yang dimiliki oleh class Student. Contoh :

std = Student.new
student_name = std.name # Frank Lampard
student_address = std.address # Chelsea

Sekian mengenai method, yaitu class method dan instant method.

Terima kasih,
Let's share :)

No comments:

Post a Comment