module pind.samples.ja.templates_more.templates_more_11; import std.stdio; interface SoundEmitter { string emitSound(); } class Violin : SoundEmitter { string emitSound() { return "♩♪♪"; } } class Bell : SoundEmitter { string emitSound() { return "ding"; } } void useSoundEmittingObject(SoundEmitter object) { // ... いくつかの操作 ... writeln(object.emitSound()); // ... さらに操作 ... } void main() { useSoundEmittingObject(new Violin); useSoundEmittingObject(new Bell); }