ПФ
Полина Фролова

инициализация объекта в php?

Что такое инициализация объекта в php?
Если можно своими словами а не слать на википедию или подобные ресурсы с терминами.

Ой
Ойбек

Различают создание объекта и инициализацию объекта.

Создание объекта не присваивает его полям никаких значений.
Инициализация - это присваивание объекту начальных значений всем его свойствам.

Как правильно привел пример Frisian:
class myCar{
     public $koleso = 4;
     public $rul = 1;
     public $dveri = 4;
}

А можно переписать так, где начальных значений свойств нет:
class myCar{
     public $koleso;
     public $rul;
     public $dveri;
}
Создаем неинициализированный объект: $car = new myCar( );
Инициализируем его (инициализируем все его значения) :
$car->koleso = 4;
$car->rul = 1;
$car->dveri = 4;

Но как правило операцию создания и инициализации объединяют вместе с помощью начальных значений и конструктора класса.

СВ
Славутинский Виктор

Ну при инициализации объекта как бы создается объект которому задаются базовые какие то характеристики. .
например у вас Класс машина. . у машины 4-ре колеса, 1 руль, 4 двери
class myCar{
public $koleso = 4;
public $rul = 1;
public $dveri = 4;
}
При создании объекта этого класса в нем будут сразу доступны поля с установленными данными (которые вы потом можете или не можете менять) ! вот это и есть типа инициализация )

КГ
Карина Герасимова

Сначала вы описываете объект, например класс

class foo
{
public $name = '';
function do_foo()
{
echo "Doing foo.";
}
}

затем вы его инициализируете, то есть создаете экземпляр данного класса. . до этого вы просто "рассказали" как класс выглядит и что он умеет.

$bar1 = new foo;

и теперь можете обращаться к методам данного класса
$bar1->do_foo();

можете установить переменную $name во что то
$bar1->name = 'Name1';

после того, как вы описали объект, вы можете создавать много копий его, изначального. .
$bar2 = new foo;
$bar2->name = 'Name2';

вот теперь есть два объекта $bar1 и $bar2, которые представляют собой экземпляры класса foo, но с различными значениями переменной $name в нем.

если на пальцах, то описание объекта это как описание общих признаков человека (или чего то еще) - голова, руки, ноги, туловище и так далее (class Человек). . когда вы инициализируете объект, то создаете человека из этого "шаблона", эдакую пустышку.
он становится индивидуальной копией, которая и "наполняется" чем то индивидуальным (вызов его функций, выставление значений переменных) и является экземпляром класса Человек ))

class Man {
private $name;
private $hair_color;

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

public function walk() {
echo $this->name . ' is walking
';
}

public function sleep() {
echo $this->name . ' is sleeping
';
}

public function set_hair_color($color) {
$this->hair_color = $color;
}

public function describe_yourself() {
echo 'Hello!

My name is ' . $this->name . ' and I have ' . $this->hair_color . ' hair
';
}
}

$man1 = new Man('Peter');
$man2 = new Man('Bob');

$man1->set_hair_color('blondy');
$man2->set_hair_color('dark');

$man1->describe_yourself();
$man2->describe_yourself();

$man1->sleep();
$man2->walk();

получим:
Hello!
My name is Peter and I have blondy hair
Hello!
My name is Bob and I have dark hair
Peter is sleeping
Bob is walking

Алина
Алина

пхп язык программирования, значит объект надо то ли переписать в пхп, то ли воткнуть как-то)

Похожие вопросы
Что новее: PHP 5.2.4 или PHP 5.2.14? Что новее: PHP 5.2.4 или PHP 5.2.14 ?
Инициализация объектов класса в конструкторе и в специальном методе класса? В чем разница?
Как создать массив объектов в PHP?
C++ Инициализация массива в функции...
php как удалить этот объект? фото в низу
С++ двумерный массив - инициализация
Инициализация массива указателей на объекты.
Ошибка при инициализации приложения (0хс0000142)
ошибка (0хс00000142) при инициализации.
Что такое Инициализация, полная и частичная