[PHP-users 35111] 抽象メソッドの引数を可変長にしたい
Yuya Takeyama
sign.of.the.wolf.pentagram @ gmail.com
2010年 4月 17日 (土) 21:14:39 JST
こんにちは。竹山と申します。
表題の通りなのですが、
abstract class AbstractClass
{
abstract function foo();
}
class ConcreteClassA extends AbstractClass
{
function foo($bar)
{
}
}
class ConcreteClassB extends AbstractClass
{
function foo($bar, $baz)
{
}
}
このような定義を行うと、
Fatal error: Declaration of ConcreteClassA::foo() must be compatible
with that of AbstractClass::foo() in~~~
といったエラーが発生します。
上記を踏まえて、以下の二点につきまして、どなたかご教示いただければと思っ
ております。
1. 抽象メソッドの引数を可変長にするにはどうすればよいか
2. そもそも上記のエラーは、「引数の個数が違うから発生した」という認識で
正しいのか
以上、よろしくお願いします。
Yuya Takeyama
PHP-users メーリングリストの案内