簡體   English   中英

PHP Object 本身的屬性是另一個 Object 的另一個 ZA2F2ED4F8EBC04ABBB4C21AZD9

[英]Property of a PHP Object itself is another Object of another class

我很確定我們可以使用不同 class 的 Object 來存儲對對象屬性的引用。 但我被這段代碼困住了。
metrotown__construct()函數為這些對象的$name$pop分配值。 But I need the __construct() function of the class city to create a new object of either class metro or class town depending on the value of $pop of the object of class city

<?php

class metro 
{
  public $name;
  public $pop;

  function __construct($name,$pop)
  {
    $this->name = $name;
    $this->pop = $pop;
  }
}

class town 
{
  public $name;
  public $pop;

  function __construct($name,$pop)
  {
    $this->name = $name;
    $this->pop = $pop;
  }
}

class city 
{
  public $name;
  public $pop;
  public $derived_city;

  function __construct($name,$pop)
   {
    $this->name = $name;
    $this->pop = $pop;
    if ($this->pop >= 50)
    {
      $derived_city = new metro($this->name,$this->pop);
    }
    else 
    {
      $derived_city = new town($this->name,$this->pop);
    }
  }
}

$city1 = new city("Bombay",100);
echo $city1->derived_city->pop;
?>

做這個:

class metro 
{
  public $name;
  public $pop;

  function __construct($name,$pop)
  {
    $this->name = $name;
    $this->pop = $pop;
  }
}

class town 
{
  public $name;
  public $pop;

  function __construct($name,$pop)
  {
    $this->name = $name;
    $this->pop = $pop;
  }
}

class city 
{
  public $name;
  public $pop;
  public $derived_city;

  function __construct($name,$pop)
   {
    $this->name = $name;
    $this->pop = $pop;
    if ($this->pop >= 50)
    {
      $derived_city = new metro($this->name,$this->pop);
    }
    else 
    {
      $derived_city = new town($this->name,$this->pop);
    }

    $this->derived_city = $derived_city;
  }
}

$city1 = new city("Bombay",100);
print_r($city1->derived_city);
echo $city1->derived_city->pop;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM