2013-12-10 66 views
0

在C#是實例時如何在實例時間設置屬性值?

這樣的代碼

People p = new People(){Name = "John", Age = 18}; 

通常設置對象屬性在PHP中有着這樣的任何解決方案?

+0

你可以將它們傳遞給構造函數,但它有更好的getter和setter。 – BenM

回答

2

你可以這樣做

class People() { 
public $name = ""; 
public $age = ""; 
public function __construct($name,$age) { 
    $this->name = $name; 
    $this->age = $age; 
} 
} 

$obj = new People("John", 18); 

欲瞭解更多信息,您可以訪問:http://php.net/manual/en/language.oop5.php

+0

這是工作,但我不想把它放在參數中,因爲它可以將參數列表這麼長,並且需要依次設置值 – Lai32290

+0

比你可以使用PHP的getter和setter。文檔在這裏http://www.php.net/manual/en/language.oop5.overloading.php#object.get –

1

這將取決於班級的建設,但你可以做到這一點。

<?php 
class Person { 
    public function __construct(array $params = array()) { 
     foreach ($params as $property => $value) { 
      $this->{$property} = $value; 
     } 
    } 
} 

$p = new Person(array('Name' => 'Bob', 'Age' => 18)); 
echo $p->Age; //18