module amplifier; import tuner, streamingplayer; import std.stdio : writeln; import std.conv : to; class Amplifier { private string description; private Tuner tuner; private StreamingPlayer player; this(string description) { this.description = description; } void on() { writeln(description ~ " on"); } void off() { writeln(description ~ " off"); } void setStereoSound() { writeln(description ~ " stereo mode on"); } void setSurroundSound() { writeln(description ~ " surround sound on (5 speakers, 1 subwoofer)"); } void setVolume(int level) { writeln(description ~ " setting volume to " ~ level.to!string); } void setTuner(Tuner tuner) { writeln(description ~ " setting tuner to " ~ tuner.to!string); this.tuner = tuner; } void setStreamingPlayer(StreamingPlayer player) { writeln(description ~ " setting Streaming player to " ~ player.to!string); this.player = player; } override string toString() const { return description; } }