私は1つの抽象クラスを作成し、2つのパブリック関数と1つの抽象関数を宣言しました。 その後、私は抽象クラスで公開関数のボディを作成しましたが、このクラスを別のクラスに拡張すると、メソッド本体が呼び出さないものがあります。次に、ボディクラスでのpublicメソッドの使用について知りたいと思います。phpの抽象クラスでbodyを使ったpublic関数の使い方は?
<?php
//declare abstract class
abstract class Test {
// declare method 1 with body
public function method1()
{
echo "hello"; //what is use of this code here
}
public function method2()
{
$this->method3();
}
abstract public function method3();
}
//extended abstract class to another class
class AnotherTest extends Test{
public function method1(){
echo "5+9"/2;
}
public function method3(){
echo 2+9;
}
public function method2()
{
echo "just for testing";
}
}
$obj = new AnotherTest();
$obj->method1();
echo nl2br("\n");
$obj->method3(9,10);
echo nl2br("\n");
$obj->method2();
?>
もしあなたがそれらを上書きしなければ、 'Test'で宣言したメソッドを呼び出すでしょう。しかし、なぜ、どうやってこれが動作するのかを完全に理解するために、オブジェクト指向についてもう少し詳しく読むべきです。 – JensV
行きたいRTM http://php.net/manual/en/language.oop5.abstract.php –