【发布时间】:2015-09-24 14:08:46
【问题描述】:
我刚刚开始使用 OOP,所以这是我的第一个婴儿步骤!
我正在尝试构建一个简单的预订系统,用户可以在其中预订由另一个用户通过日历创建的时间段。我正处于项目的早期阶段,所以数据库还没有建立起来,我目前正在摆弄一个日间课程和一个时间段课程,并试图弄清楚如何让它们互动。
这是我的代码:
class dayCL {
public $dayInMonth;
public $numBookingSlotsOnDay;
public function __construct($dayInMonth) {
$this->dayInMonth = $dayInMonth;
}
public function getNumBookingSlotsOnDay(){
return "Booking slots: " . $this->numBookingSlotsOnDay;
}
public function numBookingSlotsOnDay(){
$this->numBookingSlotsOnDay = $this->numBookingSlotsOnDay + 1 ;
}
};
class bookingSlotCL {
public $startTime;
public function __construct($startTime) {
$this->startTime = $startTime;
}
public function output(){
return "Start: " . $this->startTime;
}
};
numBookingSlotsOnDay 函数在调用时按预期工作,但是否可以将它的调用集成到 bookingSlotCL 中,以便在 bookingSlotCL 的每个实例化时调用它?
例子:
$day1 = new dayCL(1);
$bookingSlot1 = new bookingSlotCL(1);
$bookingSlot2 = new bookingSlotCL(1);
两个预订位都位于$day1,因此$day1->getNumBookingSlotsOnDay 应返回“2”。
日历被设计成所有的日子都被实例化为dayCL 实例,这意味着bookingSlotCL 实例总是有一个dayCL 实例要附加到。
【问题讨论】: