Intern
Ruby tilida sinf nima?
sobes.tech AI
AIdan javob
Ruby'da sinf, obyektlar yaratish uchun shablon yoki chizma hisoblanadi. U bu sinfning nusxalari bo'ladigan obyektlarning tuzilishini (ma'lumotlar/atributlar) va xulq-atvorini (usullar) belgilaydi.
Asosiy xususiyatlar:
- Inkapsulyatsiya: Ma'lumotlar va ular bilan ishlovchi usullarni yagona birlikda birlashtiradi.
- Merosi: Mavjud sinflardan (ota sinflar) yangi sinflar (voris sinflar) yaratishga imkon beradi, ularning xususiyatlari va xulq-atvorini meros qilib oladi.
- Polimorfizm: Turli sinflarga mansub obyektlar bir xil usul chaqiruviga o'ziga xos tarzda javob berish imkonini beradi.
Oddiy sinf misoli:
class Dog
# Sinf konstruktor
def initialize(name, breed)
@name = name # Obyekt atributi
@breed = breed # Obyekt atributi
end
# Obyekt usuli
def bark
"#{@name} Guau! deb aytadi"
end
# Atribut uchun getter
def name
@name
end
end
# Sinfdan obyekt yaratish (instansiya)
my_dog = Dog.new("Bobic", "Yashash joyi bo'lmagan it")
# Obyekt usulini chaqirish
puts my_dog.bark # Chiqish: Bobic Guau!
puts my_dog.name # Chiqish: Bobic
Ruby'da sinflar birinchi darajali obyektlardir, ular ham dinamik tarzda o'zgartirilishi mumkin.