Chamando métodos dentro de classes em OOP no PHP

É possível chamar alguns métodos dentro de outros usando $this. Vamos ver um exemplo. Suponha que temos uma classe de usuário com um método que retorna uma propriedade:

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

Suponha que também temos um método cape, que transforma a primeira letra de uma string em maiúscula:

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);
    }
  }
?>

Vamos utilizar o método cape dentro do método 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

Crie uma classe Student com as propriedades name e surn.

Задание 2

Crie um método auxiliar, que obterá o primeiro caractere de uma string e o tornará maiúsculo.

Задание 3

Crie um método que retornará as iniciais do estudante, ou seja, as primeiras letras de seu nome e sobrenome.