2010年4月17日

[PHP-users 35111]抽象メソッドの引数を可変長にしたい

こんにちは。竹山と申します。

表題の通りなのですが、

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 mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年4月17日 21:14
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95167
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。