代码之家  ›  专栏  ›  技术社区  ›  Max Vu

PHP对象溢出

  •  0
  • Max Vu  · 技术社区  · 16 年前

    我试图以类似于以下的方式组织项目中的课程:

    $TheRoberts = new family;
    
    class family {
        public function __construct() {
            $bobby = new father;
            $cindy = new daughter;
        }
    }
    
    class father extends family {
        function PayBills() {}
        function GoToWork() {}
    }
    
    class daughter extends family {
        function AskForMoney() {}
        function GoToSchool() {}
    }
    

    关于这一主题的文献相当抽象,但是,如果我理解正确的话,这就是它是如何做到的。那么,为什么PHP会抛出关于内存耗尽和超过执行时间的错误?简而言之:为什么构造函数是循环的?

    2 回复  |  直到 16 年前
        1
  •  4
  •   Jordan S. Jones    16 年前

    所谓的新家庭就是所谓的新女儿,它本身就是一个家庭的子类,因此称之为家庭建构者,也就是所谓的新女儿…

    女儿和父亲不应该扩大家庭…您应该创建一个家庭成员类,女儿和父亲可以扩展(IS-A)关系。那么这个家庭就可以有家庭成员(有一段关系)。

        2
  •  1
  •   Matthew    16 年前

    你的 father 和 daughter 类没有定义构造函数,因此它们将从 family . 这将导致无限多的 父亲 要创建的对象。

    在这个特定的例子中,两者都没有 父亲 或 女儿 应该延长 家庭 类。

    推荐文章