50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
---
|
||
title: Classes and Objects
|
||
localeTitle: Классы и объекты
|
||
---
|
||
# Классы и объекты
|
||
|
||
Классы - это то, как мы представляем типы объектов в мире. Объектами будут фактические _экземпляры_ этого класса в мире. Класс определяет _свойства_ и _поведение_ объекта этого класса. Класс определяет, как объект может взаимодействовать с остальным миром. Классы также позволяют нам абстрагировать детали, которые мы не хотим показывать другим людям!
|
||
|
||
Скажем, например, у вас есть собака по имени Spot. Spot - это один экземпляр объекта Dog (class).
|
||
|
||
PHP-код для определения класса:
|
||
|
||
```php
|
||
// Dog class
|
||
class dog {
|
||
// Keep name and age private - we don't want to be able to change these!
|
||
private $name;
|
||
|
||
private $age;
|
||
|
||
// Constructor allows us to make an object of this class with given parameters.
|
||
function __construct($name, $age){
|
||
$this->name = $name;
|
||
$this->age = $age;
|
||
echo 'Dog named: '.$this->name.' is '.$this->age.' years old.';
|
||
}
|
||
|
||
// Destructor gets called when the item is deleted.
|
||
function __destruct(){
|
||
echo 'Dog '.$this->name.' has ran off into the sunset';
|
||
}
|
||
|
||
function getname() {
|
||
echo $this->name;
|
||
}
|
||
|
||
function getage() {
|
||
echo $this->age;
|
||
}
|
||
|
||
}
|
||
|
||
$mydog = new dog("Spot", "8");
|
||
echo $mydog->getname();
|
||
echo $mydog->getage();
|
||
```
|
||
|
||
Вышеупомянутый код будет эхом: Собака по имени: Пятно 8 лет. Место 8 Собака пятна убежала на закат
|
||
|
||
Я создал объект $ mydog класса dog. Его конструктор был вызван, я использовал некоторые методы внутри класса, затем был вызван деструктор. |