Back to questions
Junior — Middle
66
Можете объяснить концепцию ассоциации в объектно-ориентированном программировании?
Answer from AI
sobes.tech AI
Ассоциация в объектно-ориентированном программировании — это связь между двумя классами, при которой объекты одного класса могут взаимодействовать с объектами другого класса. Это отношение «имеет» или «связан с». Ассоциация может быть однонаправленной (один класс знает о другом) или двунаправленной (оба класса знают друг о друге).
Например, класс Студент может быть ассоциирован с классом Курс, если студент записан на курс. При этом студент и курс — отдельные объекты, но между ними есть связь.
class Student {
var name: String
var courses: [Course] = []
init(name: String) {
self.name = name
}
}
class Course {
var title: String
init(title: String) {
self.title = title
}
}
let math = Course(title: "Математика")
let student = Student(name: "Иван")
student.courses.append(math)
Здесь Student ассоциирован с Course через массив курсов. Ассоциация не подразумевает владения или жизненного цикла, в отличие от композиции или агрегации.