パラメトリック多形性は、さまざまなデータ(型)にわたって一様なアクションを可能にする技術です。私の知識は正しいですか?Javaのパラメトリック多形性(例)
この例はパラメトリック多形ですか? Animal.talkは、特定の動物タイプ(猫や犬)にもかかわらず呼び出すことができるので、それは信じています。
public interface Animal
{
public String talk();
}
public class Cat implements Animal
{
public String talk()
{
return "Cat says Meow!";
}
}
public class Dog implements Animal
{
public String talk()
{
return "Dog says Woof! Woof!";
}
}
import java.util.*;
public class PolymorphismExample
{
public static void main(String[] args)
{
Collection<Animal> animals = new ArrayList<Animal>();
animals.add(new Cat());
animals.add(new Dog());
for (Animal a : animals)
{
System.out.println(a.talk());
}
}
}
よろしくお願いいたします。
編集:私の例がパラメトリック多形性を特に示していない場合は、1つを入力してください。ありがとうございました。
正しく表示されます。基本的に、CatとDogは、Animalタイプに基づいて実際のタイプに関係なく扱います。 – dvallejo
ハスケラーとして、私はそのパラメトリック多形性と呼んでいません。パラメトリック多相関数は、すべての_parameter_型 'T'に対して同じように動作する' LinkedList reverse(LinkedList ) 'のようなものです。パラメトリック多相関数は、インタフェースメソッドを呼び出すことはできません。 –