Обращение к методам внутри классов в ООП в PHP

Одни методы можно вызывать внутри других через $this. Давайте посмотрим на примере. Пусть у нас дан класс с юзером и методом, в котором возвращается свойство:

php<?php
  class User {
    public $name;
    
    public function show() {
      return $this->name;
    }
  }
?>

Пусть у нас также есть метод cape, преобразующий первую букву строки в заглавную:

php<?php
  class User {
    public $name;
    
    public function show() {
      return $this->name;
    }
    
    public function cape($str) {
      return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
    }
  }
?>

Давайте воспользуемся методом cape внутри метода show:

php<?php
  class User {
    public $name;
    
    public function show() {
      return $this->cape($this->name);
    }
    
    public function cape($str) {
      return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
    }
  }
?>
Задание 1

Сделайте класс Student со свойствами name и surn.

Задание 2

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

Задание 3

Сделайте метод, который вернет инициалы студента, то есть первые буквы его имени и фамилии.