25. 判別共用体
& パターソマッチ
type Animal = Dog | Cat | Rabbit | Bird
let speak = function
| Dog -> "わんわん!"
| Cat -> "にゃーにゃー"
| Rabbit -> "..."
| Bird -> "ぴーちくぱーちく"
26. public abstract class Animal
{
public abstract string Speak();
}
public class Dog : Animal
{
public override string Speak() { return "わんわん!"; }
}
public class Cat : Animal
{
public override string Speak() { return "にゃーにゃー"; }
}
public class Rabbit : Animal
{
public override string Speak() { return "..."; }
}
public class Bird : Animal
{
public override string Speak() { return "ぴーちくぱーちく"; }
}