一个类的实例可以更改另一个类的实例中的变量吗?

雷内·乔根森(Rene Jorgensen)

我刚开始使用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要附加实例。

本杰明·帕普(Benjamin Paap)

您应该将所有bookingSlotCL实例添加到实例中的数组中,dayCL如下所示:

$day1 = new dayCL(1);
$day1->addBooking(new bookingSlotCL());

addBooking方法可能如下所示:

public function addBooking(dayCL $day) {
    $this->days[] = $day;
    $day->startTime = $this->dayInMonth
}

这样,您甚至可以更改getNumBookingSlotsOnDay方法来动态确定预订位的数量:

public function getNumBookingSlotsOnDay() {
    return count($this->days);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在另一个类实例中获取一个类实例的变量的值

来自分类Dev

另一个类“cBeam”的实例字典作为类“cNode”实例中的变量

来自分类Dev

一个实例如何更改同一类的另一个实例的某些变量

来自分类Dev

从另一个类获取实例变量?

来自分类Dev

从另一个类访问变量的实例

来自分类Dev

我可以在javascript中将一个类的实例动态转换为另一个类吗?

来自分类Dev

在另一个类中创建该类的实例

来自分类Dev

从JavaScript中的另一个实例实例化一个类?

来自分类Dev

如何跟踪一个类中另一个类的实例?

来自分类Dev

在另一个类中添加一个或多个类的实例

来自分类Dev

如何在一个类中声明另一个类的实例

来自分类Dev

javascript函数可以是另一个对象的类和实例吗?

来自分类Dev

javascript函数可以是另一个对象的类和实例吗?

来自分类Dev

我可以将Dictionary分配为另一个类实例的属性吗?

来自分类Dev

Python类:一个类中的实例方法指向另一个类中的实例方法

来自分类Dev

将一个类实例转换为另一个类的实例

来自分类Dev

如何在实例化时在新类中创建另一个类的实例?

来自分类Dev

制作另一个文件中的类的实例,而无需创建新变量

来自分类Dev

无法访问在另一个模块中设置的类实例变量

来自分类Dev

Swift 3 - 从另一个类中的 XIB 实例访问变量

来自分类Dev

修改另一个Android类的实例中的变量

来自分类Dev

使用动作更新另一个类中的实例变量

来自分类Dev

是否可以从另一个文件访问python文件中声明的类的特定实例?

来自分类Dev

在一个类的一个实例中的UIView beginAnimations在同一个类的另一个实例中触发beginAnimations

来自分类Dev

一个类包含另一个类的实例时的类设计

来自分类Dev

如何通过在Javascript另一个类的实例访问另一个类中的方法

来自分类Dev

通过方法将类实例附加到另一个类的列表变量

来自分类Dev

如何将一个类的实例方法与另一个实例化?

来自分类Dev

如何将一个类的实例方法与另一个实例化?

Related 相关文章

  1. 1

    在另一个类实例中获取一个类实例的变量的值

  2. 2

    另一个类“cBeam”的实例字典作为类“cNode”实例中的变量

  3. 3

    一个实例如何更改同一类的另一个实例的某些变量

  4. 4

    从另一个类获取实例变量?

  5. 5

    从另一个类访问变量的实例

  6. 6

    我可以在javascript中将一个类的实例动态转换为另一个类吗?

  7. 7

    在另一个类中创建该类的实例

  8. 8

    从JavaScript中的另一个实例实例化一个类?

  9. 9

    如何跟踪一个类中另一个类的实例?

  10. 10

    在另一个类中添加一个或多个类的实例

  11. 11

    如何在一个类中声明另一个类的实例

  12. 12

    javascript函数可以是另一个对象的类和实例吗?

  13. 13

    javascript函数可以是另一个对象的类和实例吗?

  14. 14

    我可以将Dictionary分配为另一个类实例的属性吗?

  15. 15

    Python类:一个类中的实例方法指向另一个类中的实例方法

  16. 16

    将一个类实例转换为另一个类的实例

  17. 17

    如何在实例化时在新类中创建另一个类的实例?

  18. 18

    制作另一个文件中的类的实例,而无需创建新变量

  19. 19

    无法访问在另一个模块中设置的类实例变量

  20. 20

    Swift 3 - 从另一个类中的 XIB 实例访问变量

  21. 21

    修改另一个Android类的实例中的变量

  22. 22

    使用动作更新另一个类中的实例变量

  23. 23

    是否可以从另一个文件访问python文件中声明的类的特定实例?

  24. 24

    在一个类的一个实例中的UIView beginAnimations在同一个类的另一个实例中触发beginAnimations

  25. 25

    一个类包含另一个类的实例时的类设计

  26. 26

    如何通过在Javascript另一个类的实例访问另一个类中的方法

  27. 27

    通过方法将类实例附加到另一个类的列表变量

  28. 28

    如何将一个类的实例方法与另一个实例化?

  29. 29

    如何将一个类的实例方法与另一个实例化?

热门标签

归档