fork(1) download
  1. using System;
  2. using Animals;
  3.  
  4.  
  5. class Pet {
  6. static void Main(string[] args) {
  7. Animal[] pets = {
  8. new Dog("ぽち"),
  9. new Cat("たま", 1)
  10. };
  11.  
  12. foreach(Animal pet in pets) {
  13. pet.play();
  14. }
  15.  
  16. }
  17. }
  18.  
  19.  
  20. namespace Animals {
  21. abstract class Animal {
  22. protected string name;
  23.  
  24. public Animal(string name) {
  25. this.name = name;
  26. }
  27.  
  28. public virtual void play() { }
  29. }
  30.  
  31. class Dog : Animal {
  32. public Dog(string name) : base(name) {
  33. }
  34.  
  35. public override void play() {
  36. Console.WriteLine("わんわん!" + name + "だよ!");
  37. }
  38. }
  39.  
  40. class Cat : Animal {
  41. private int sleep;
  42.  
  43. public Cat(string name, int sleep) : base(name) {
  44. this.sleep = sleep;
  45. }
  46.  
  47. public override void play() {
  48. Console.WriteLine("にゃあ!" + name + "だよ!");
  49. if(sleep == 1) {
  50. Console.WriteLine("...でも寝る");
  51. }
  52. }
  53. }
  54. }
  55.  
Success #stdin #stdout 0.04s 28624KB
stdin
Standard input is empty
stdout
わんわん!ぽちだよ!
にゃあ!たまだよ!
...でも寝る