Menu
Coddy logo textTech

Свойства

Часть раздела Объектно-ориентированное программирование путешествия по PHP на Coddy — урок 6 из 91.

Свойства — это переменные, которые принадлежат классу. Они хранят информацию о состоянии объекта. В PHP свойства должны быть объявлены внутри класса с использованием ключевого слова видимости, такого как public.

Свойства могут иметь значения по умолчанию, которые являются общими для всех объектов:

<?php
class Student {
    public $school = "PHP Academy";  // значение по умолчанию
    public $name;
    public $age;
}

Свойства без значения по умолчанию имеют начальное значение null, пока вы их не установите.

Вы можете устанавливать значения свойств с помощью метода и $this:

class Student {
    public $school = "PHP Academy";
    public $name;
    public $age;

    public function setInfo($name, $age) {
        $this->name = $name;    // установка данных экземпляра
        $this->age = $age;      // установка данных экземпляра
    }
}

Создайте объекты студентов и установите их индивидуальные данные:

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

Доступ к свойствам:

echo $student1->name . "\n";          // Алиса
echo $student2->name . "\n";          // Боб
echo $student1->school . "\n";        // Академия PHP
echo $student2->school . "\n";        // Академия PHP

Вывод:

Alice
Bob
PHP Academy
PHP Academy

Ключевое отличие: Свойства со значениями по умолчанию (такие как $school) начинаются с одного и того же значения для каждого объекта. Свойства, устанавливаемые через методы (такие как $name и $age), уникальны для каждого объекта.

challenge icon

Задание

Легко

Завершите класс Student в файле student.php:

  1. Объявите свойство $school со значением по умолчанию "PHP Academy"
  2. Объявите свойства $name и $age (без значений по умолчанию)
  3. Добавьте метод setInfo, который принимает параметры $name и $age и устанавливает их с помощью $this

Файл driver.php протестирует ваш класс, создав двух студентов и выведя информацию о них.

Шпаргалка

Свойства — это переменные, которые принадлежат классу и хранят информацию о состоянии объекта. Они должны быть объявлены внутри класса с использованием ключевого слова видимости, такого как public.

Свойства могут иметь значения по умолчанию, общие для всех объектов:

<?php
class Student {
    public $school = "PHP Academy";  // значение по умолчанию
    public $name;
    public $age;
}

Свойства без значения по умолчанию имеют значение null до тех пор, пока они не будут установлены.

Используйте методы и $this для установки значений свойств:

class Student {
    public $school = "PHP Academy";
    public $name;
    public $age;

    public function setInfo($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

Создавайте объекты и устанавливайте индивидуальные данные:

$student1 = new Student();
$student1->setInfo("Alice", 20);

echo $student1->name;    // Alice
echo $student1->school;  // PHP Academy

Свойства со значениями по умолчанию изначально одинаковы для каждого объекта. Свойства, установленные через методы, уникальны для каждого объекта.

Попробуйте сами

<?php
require_once 'student.php';

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

echo $student1->name . " is " . $student1->age . " at " . $student1->school . "\n";
echo $student2->name . " is " . $student2->age . " at " . $student2->school . "\n";
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование