Sobes.tech
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 через массив курсов. Ассоциация не подразумевает владения или жизненного цикла, в отличие от композиции или агрегации.