オブジェクト向けのマルチステート

1584 ワード

詳細
Java実装
//    Animal  
interface Animal  
{  
    void Talk();  
}  
//    Animal Dog  
class Dog implements Animal  
{  
    public void Talk()  
    {          
        System.out.println("WongWong");  
    }   
}  
//    Animal  Cat  
class Cat implements Animal  
{  
    public void Talk()  
    {          
        System.out.println("Miao");  
    }   
}  
class Test  
{  
    public static void main(String[] args)  
    {   
        Animal  a;  
        a= new Dog();  
        a.Talk();   
        a = new Cat();   
        a.Talk();
    }   
}  

 
PHP実現
Talk();   
$a = new Cat();   
$a->Talk();
?>

 
オブジェクト向け言語では,インタフェースの多様な異なる実装方式がマルチステートである.
いくつかの子と親を継承し、各子と親、子と子の間に違いがあるとします.もしあなたが子を親と見なすならば、これらの子は親の「多態」です.もしあなたが各子を独立した個体と見なすならば、白猫がネズミを捕まえ、黒猫がネズミを捕まえるとは言えません.猫の多態が毛の色に現れているからです