我正在尝试学习PHP中的面向对象编程,目前我已经学到了抽象类。
我有一些问题不太理解,在抽象类中何时应该实现抽象方法,何时不应该。
例如,以下是一段代码:
<?php
abstract class concept_car {
/**
* Properties can not be declared as abstract natively:
* https://dev59.com/42sz5IYBdhLWcg3w0rVC
*/
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);
}
我不确定是否应该将这三个方法声明为抽象方法,还是要删除abstract并在类中实现这些方法,因为属性和方法在同一个类中。
在代码的实际形式中,我认为我必须在这里将这些方法声明为抽象方法,并在继承类中实现它们,在子类中实现,但我不知道这是否是正确的方式。
P.S:我是初学者,正在尝试理解事物的运作,我还没有涉及到设计模式,请用概念向我解释,以便我知道正确的操作方式。