@startuml
'https://plantuml.com/class-diagram

class Instructor {
~ firstName: String
~ lastName: String
~ officeNumber: String

+ getFirstName(): String
+ setFirstName(in firstName: String): void
+ getLastName(): String
+ setLastName(in lastName: String): void
+ getOfficeNumber(): String
+ setOfficeNumber(in officeNumber: String): void
+ toString(): String
}


class Textbook {
~ title: String
~ author: String
~ publisher: String

+ getTitle(): String
+ setTitle(in title: String): void
+ getAuthor(): String
+ setAuthor(in author: String): void
+ getPublisher(): String
+ setPublisher(in publisher: String): void
+ toString(): String
}


class Course {
~ name: String
~ instructors: ArrayList<Instructor> =
~ textbooks: ArrayList<Textbook>

+ Course()
+ getName(): String
+ setName(in name: String): void
+ getInstructors() : ArrayList<Instructor>
+ setInstructor(in instructor: Instructor): void
+ getTextbooks(): ArrayList<Textbook>
+ setTextbook(in textbook: Textbook): void
+ toString(): String
+ printCourse(): void
}

Instructor o-- Course
Textbook o-- Course

class Driver {
+ {static} main(in args: String[]): void
}

Instructor <--- Driver: uses
Textbook <--- Driver: uses
Course <--- Driver: uses


@enduml