# Объекты

**Создание класса:**

```php
class SimpleClass
{
    public $var = 'значение по умолчанию';
    private $privatevar = 57;
    protected $protperem = '8';
    static $mystat = 55; //изнутри обращаться через self
    static function someFunc() {
      echo "Hello!";
    }
    // Объявление метода
    public function displayVar() {
        echo $this->var;
    }
    private function displayPrivate() {
        echo $this->privatevar;
    }
}
```

**Наследование:**

```php
class Child extends Person {}
```

Вызов методов родительского и дочернего класса:

```php
parent::birthday();
self::birthday();
```

**Создание объекта:**

```php
$newobj = new ClassName($arg1, $arg2, ...);

$clname = "ClassName";
$newobj2 = new $clname;
```

**Доступ к свойствам и методам:**

```php
$some = $obj -> prop;
$some = $obj -> meth([]);
$some = $obj::methstat([]); 
```

**Клонирование объекта:**

```php
$b = clone $f;
```

Запрет переопределения методов

```php
final function lastFunc(){}
```