# Unit 7 – Practice Basic: Instrument, Guitar, Drum, Piano

You cannot play "an instrument" — you can only play a guitar, a drum, a 
piano, or some other specific kind. Every instrument makes its own sound 
and is played in its own way, but they all share the same idea of being 
played.

## Instructions

### Instrument

1. Look at `sound()` and `describe()` — can Instrument itself know what 
   to return? What needs to change so that every subclass is forced to 
   provide its own version? Should the class itself change too?
2. Complete `play()` so it returns a one-line string combining the 
   instrument's name, how it is played, and the sound it makes. Expected 
   format: `"[Acoustic Guitar] plucked or strummed → Strum!"`

### Guitar

1. Implement the method that returns the sound a guitar makes.
2. Implement the method that describes how a guitar is played.

### Drum

1. Implement the method that returns the sound a drum makes.
2. Implement the method that describes how a drum is played.

### Piano

1. Implement the method that returns the sound a piano makes.
2. Implement the method that describes how a piano is played.

### Testing

1. Try to create an Instrument directly — BlueJ should refuse.
2. Create `Guitar("Acoustic Guitar")` and call `play()`.
3. Create `Drum("Bass Drum")` and call `play()`.
4. Create `Piano("Grand Piano")` and call `play()`.
5. Comment out one `override` in Guitar and try to compile — restore it 
   afterward.
