Sobes.tech
Junior — Middle

Milline on parim viis parameetrite edastamiseks objektile: läbi konstruktoriparameetrite või määrates need pärast objekti loomist konstruktoris?

sobes.tech AI

Vastus AI-lt

On parem edastada parameetrid objekti konstruktor kaudu. See võimaldab kohe objekti loomisel määrata kõik vajalikud omadused, mis muudab koodi loetavamaks ja takistab objektide loomist ebastabiilses olekus.

Näiteks:

class User {
    private $name;
    private $email;

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

$user = new User('Иван', 'ivan@example.com');

Kui parameetreid määratakse pärast objekti loomist, on oht unustada määrata olulisi omadusi, mis võib põhjustada vigu. Konstruktorit kasutades on ka koodi hooldus ja testimine lihtsam.