私は明らかに継承を正しく理解していません。私のコードに話させます:
abstract class Calc {
private $x;
private $y;
public function AddNumbers() {
echo $this->x. " + " .$this->y;
}
}
class myCalc extends Calc {
public function __construct ($x,$y) {
$this->x = $x;
$this->y = $y;
}
}
$calc1 = new myCalc(3,4);
$calc1->AddNumbers();
echo 'done';
exit;
OK、ここで何が起こっているのか: 2 つのプロパティ (x と y) と抽象メソッドを定義する抽象クラスが必要です (数値の連結は気にしないでください。メソッドの実装は私の質問) プロパティにアクセスします。
次に、具象クラスがその抽象クラスを拡張します。ご覧のとおり、プロパティに正常にアクセスして設定できますが、add numbers を呼び出すと、プロパティが設定されていないように見えます。
何が起こっているのですか、なぜこれが機能しないのですか、どうすれば修正できますか? 具体的なクラスで数値を追加するメソッドを定義することもできますが、再利用できる定義を持つ抽象クラスのメソッドが必要です。
ありがとう!