Intern
Класс дар забони Ruby чист?
sobes.tech AI
Ҷавоб аз AI
Класи дар Ruby шаблон ё ё нақшаи сохтани объектҳо мебошанд. Он сохтор (маълумотҳо/атрибутҳо) ва рафтор (усулҳо) ки намунаҳои ин класи онро хоҳанд дошт, муайян мекунад.
Хусусиятҳои асосӣ:
- Инкапсулятсия: Маълумотҳо ва усулҳоро, ки бо ин маълумотҳо кор мекунанд, дар як воҳиди ягона муттаҳид мекунад.
- Наследие: Имкон медиҳад, ки класи нав (подкласи) бар асоси класи мавҷуда (синфи падар) сохта шавад, хусусиятҳо ва рафторҳои онҳоро мерос гирад.
- Полиформизм: Имкон медиҳад, ки объектҳои класи гуногун ба даъвати як усул дар шакли махсуси худ ҷавоб диҳанд.
Масалан, класи оддӣ:
class Dog
# Конструктори класи
def initialize(name, breed)
@name = name # Атрибути намуна
@breed = breed # Атрибути намуна
end
# Усули намуна
def bark
"#{@name} мегӯяд Гав!"
end
# Геттер барои атрибут
def name
@name
end
end
# Сохтани намунаи класи (объект)
my_dog = Dog.new("Бобик", "Саги кӯча")
# Даъвати усули намуна
puts my_dog.bark # Натиҷа: Бобик мегӯяд Гав!
puts my_dog.name # Натиҷа: Бобик
Класи дар Ruby объекти синфи аввал мебошанд, инчунин метавонанд динамикӣ тағир дода шаванд.