Kelas dan objek ruby


Ruby ialah bahasa pengaturcaraan berorientasikan objek yang sempurna. Ciri-ciri bahasa pengaturcaraan berorientasikan objek termasuk:

  • Pengenkapsulan Data

  • Abstraksi Data

  • Sifat Polimorfisme

  • Warisan

Ciri-ciri ini akan dibincangkan dalam Ruby Berorientasikan Objek.

Program berorientasikan objek yang melibatkan kelas dan objek. Kelas ialah cetak biru untuk penciptaan objek individu. Dalam istilah berorientasikan objek, basikal anda ialah contoh kelas Basikal.

Ambil kenderaan sebagai contoh, ia termasuk kapasiti roda, kuasa kuda, bahan api atau tangki gas. Sifat ini membentuk ahli data kelas Kenderaan. Dengan bantuan atribut ini anda boleh membezakan satu kenderaan daripada kenderaan lain.

Kenderaan juga boleh mengandungi fungsi tertentu, seperti berhenti, memandu dan memandu laju. Fungsi ini membentuk ahli data kelas Kenderaan. Oleh itu, anda boleh menentukan kelas sebagai gabungan sifat dan fungsi.

Kenderaan kelas ditakrifkan seperti berikut:

Class Vehicle
{
   Number no_of_wheels
   Number horsepower
   Characters type_of_tank
   Number Capacity
   Function speeding
   {
   }
   Function driving
   {
   }
   Function halting
   {
   }
}

Anda boleh mencipta kejadian berbeza bagi Kenderaan kelas dengan memberikan nilai berbeza kepada ahli data ini. Sebagai contoh, kapal terbang mempunyai tiga roda, 1,000 kuasa kuda, dan kapasiti tangki bahan api 100 liter. Dengan cara yang sama, sebuah kereta mempunyai empat roda, 200 kuasa kuda dan kapasiti tangki gas sebanyak 25 liter.

Mentakrifkan kelas dalam Ruby

Untuk melaksanakan pengaturcaraan berorientasikan objek dengan Ruby, anda perlu terlebih dahulu belajar cara mencipta objek dan kelas dalam Ruby.

Dalam Ruby, kelas sentiasa bermula dengan kata kunci kelas diikuti dengan nama kelas. Huruf pertama nama kelas hendaklah menggunakan huruf besar. Kelas Pelanggan kelihatan seperti ini:

class Customer
end

Anda boleh menamatkan kelas menggunakan kata kunci tamat. Semua ahli data dalam kelas berada di antara definisi kelas dan kata kunci akhir.

Pembolehubah dalam kelas Ruby

Ruby menyediakan empat jenis pembolehubah:

  • Pembolehubah setempat: Pembolehubah setempat ialah Pembolehubah yang ditakrifkan dalam kaedah. Pembolehubah tempatan tidak tersedia di luar kaedah. Dalam bab seterusnya anda akan melihat lebih banyak butiran tentang kaedah tersebut. Pembolehubah setempat bermula dengan huruf kecil atau _.

  • Pembolehubah Contoh: Pembolehubah tika boleh digunakan merentas mana-mana tika atau kaedah tertentu dalam objek. Ini bermakna pembolehubah contoh boleh berubah dari objek ke objek. Pembolehubah contoh meletakkan simbol (@) sebelum nama pembolehubah.

  • Pembolehubah kelas: Pembolehubah kelas boleh digunakan merentas objek yang berbeza. Pembolehubah kelas tergolong dalam kelas dan merupakan atribut kelas. Pembolehubah kelas meletakkan simbol (@@) sebelum nama pembolehubah.

  • Pembolehubah global: Pembolehubah kelas tidak boleh digunakan merentas kelas. Jika anda ingin mempunyai pembolehubah yang boleh digunakan merentas kelas, anda perlu menentukan pembolehubah global. Pembolehubah global sentiasa bermula dengan tanda dolar ($).

Instance

Menggunakan pembolehubah kelas @@no_of_customers, anda boleh menentukan bilangan objek yang dicipta dan dengan itu menentukan bilangan pelanggan.

class Customer
   @@no_of_customers=0
end

Buat objek dalam Ruby menggunakan kaedah baharu

Objek ialah contoh kelas. Sekarang anda akan belajar cara membuat objek kelas dalam Ruby. Dalam Ruby, anda mencipta objek menggunakan kaedah kelas baharu.

Kaedah baharu ialah kaedah unik, yang dipratakrifkan dalam pustaka Ruby. Kaedah baharu tergolong dalam kaedah kelas .

Contoh berikut mencipta dua objek, cust1 dan cust2, pelanggan kelas:

cust1 = Customer. new
cust2 = Customer. new

Di sini, cust1 dan cust2 ialah nama kedua-dua objek. Nama objek diikuti dengan tanda sama (=), yang diikuti dengan nama kelas, kemudian pengendali titik dan kata kunci baharu.

Kaedah tersuai untuk mencipta objek Ruby

Anda boleh menghantar parameter kepada kaedah baharu yang boleh digunakan untuk memulakan pembolehubah kelas.

Apabila anda ingin mengisytiharkan kaedah baharu dengan parameter, anda perlu mengisytiharkan kaedah memulakan semasa mencipta kelas. Kaedah

inisialisasi ialah jenis kaedah khas yang akan dilaksanakan apabila kaedah baharu kelas dengan parameter dipanggil.

Contoh berikut mencipta kaedah permulaan:

class Customer
   @@no_of_customers=0
   def initialize(id, name, addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
   end
end

Dalam contoh ini, anda boleh mengisytiharkan memulakan dengan id, nama, addr sebagai pembolehubah setempat Kaedah. Di sini, def dan end digunakan untuk mentakrifkan kaedah Ruby memulakan. Dalam bab-bab berikutnya anda akan mempelajari lebih lanjut mengenai kaedah tersebut.

Dalam kaedah mulakan, hantarkan nilai pembolehubah setempat ini kepada pembolehubah tika @cust_id, @cust_name dan @cust_addr. Di sini, nilai pembolehubah tempatan diluluskan dengan kaedah baharu.

Kini anda boleh mencipta objek seperti ini:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

Fungsi Ahli dalam Kelas Ruby

Dalam Ruby, fungsi dipanggil kaedah. Setiap kaedah dalam kelas bermula dengan kata kunci def, diikuti dengan nama kaedah.

Nama kaedah sentiasa bermula dengan huruf kecil. Dalam Ruby, anda boleh menamatkan kaedah menggunakan kata kunci tamat.

Contoh berikut mentakrifkan kaedah Ruby:

class Sample
   def function
      statement 1
      statement 2
   end
end

Di sini, penyataan 1 dan penyataan 2 ialah kaedah dalam kelas Contohfungsi ialah komponen badan. Pernyataan ini boleh menjadi sebarang pernyataan Ruby yang sah. Sebagai contoh, kita boleh menggunakan kaedah puts untuk mengeluarkan Hello Ruby seperti berikut:

class Sample
   def hello
      puts "Hello Ruby!"
   end
end

Contoh berikut akan mencipta objek Sampel kelas dan memanggil hello Kaedah:

#!/usr/bin/ruby

class Sample
   def hello
      puts "Hello Ruby!"
   end
end

# 使用上面的类来创建对象
object = Sample. new
object.hello

Ini akan menghasilkan keputusan berikut:

Hello Ruby!

Kajian kes mudah

Jika anda ingin melakukan lebih lanjut tentang kelas dan objek Untuk latihan, di sini ialah kajian kes:

Kes Kelas Ruby