Максим: чувак разобраться хочет. В книжке реально бредятина какая-то написана. Класс - это шаблон для объекта. Wat?
playSound(title), который по имени песни умеет вычислять, какую песню играть - WAT? Ну допустим, глобальный репозиторий песен у них там. И как этот магический метод узнает, что "Вызов метода из этого экземпляра приводит к воспроизведению "MyWay" (но не той, которую поет Синатра)"? Бред.
Программа заходит в main потом создает объект дальше передает сеттерам String (песню и артистов) далее через метод play ищет title песни выбирая из объектов (if (ввел номер трека 1) играть t.2 else s.3)
Денис Загаевский: А кто вам сказал, что поле title - это простая строка, устанавливаемая через setTitle()? Возможно это структура содержащая в себе и artist и собственно title?
Денис Загаевский: А кто вам сказал, что поле title - это простая строка, устанавливаемая через setTitle()? Возможно это структура содержащая в себе и artist и собственно title.
А может класс soundPlayer содержит отдельный метод selectArtist() или setArtist() создаёт новый экземпляр класса soundPlayer.
Вариантов много, в рамках данного примера они абсолютно не критичны.
Rsa97: Это следует из описания. Есть поля title и artist. Кроме того, эти объекты графически изображены в виде кругов, внутри которых явно строковые заголовок и исполнитель. Делать допущения о более сложной структуре некорректно. А то можно договориться до того, что внутри методы playSound есть вызов метода sdelatPizdato() - без параметров, который вообще сам угадывает, что именно нужно сделать.
Программа заходит в main потом создает объект дальше передает сеттерам String (песню и артистов) далее через метод play ищет title песни выбирая из объектов (if (ввел номер трека 1) играть t.2 else s.3)