PHP で OOP を学ぼうとしていますが、今のところ抽象クラスに到達しています。
いつ抽象クラスに抽象メソッドを実装する必要があり、いつ実装すべきでないのかを理解するのに問題があります。
たとえば、次のコードがあります。
<?php
abstract class concept_car {
/**
* Properties can not be declared as abstract natively:
* http://stackoverflow.com/questions/7634970/php-abstract-properties
*/
protected $weelNum = NULL;
protected $doorsNum = NULL;
protected $color = NULL;
protected $carType = NULL;
// the inheritance class must define this methods
abstract public function setWeelNum($weelNum);
abstract public function setDoorsNum($doorsNum);
abstract public function setCarType($carType);
}
プロパティがメソッドと同じクラスにあるため、3 つのメソッドを抽象として宣言してもよいのか、それとも抽象を削除して実装する必要があるのか わかりません。
コードの実際の形式では、ここでメソッドを抽象として宣言し、子クラスの継承クラスに実装する必要があると考えていましたが、これが正しい方法かどうかはわかりません。
PS: 私は初心者で、物事がどのように進むのかを理解しようとしています。まだ設計パターンに到達していないので、正しい進め方がわかるように概念を説明してください。