Правильно ли я понимаю параметр $this?
$this указывает на текущий экземпляр класса.
Код $this->name = $name; присваивает параметру name у текущего экземпляра объекта, значение $name.
Визуально код выглядит правильно, разве что лучше сразу приучаться называть вещи своими именами - __construct  это конструктор а не конструкция)
Ну и на всякий случай php.net/manual/ru/language.oop5.basic.php
Через $this можно/нужно обращаться к переменным и методам внутри класса. Тут всё верно.
Но, один момент меня смущает. Зачем задавать переменным значения по умолчанию, если в конструкторе объекта они всё равно безусловно переопределятся... в этом нет особого смысла, за исключением крайне редких ситуаций, но я думаю, это не тот случай.