读写一个对象的非公开属性

问题

假设有以下对象, 如何读写其中的非公开属性?

<?php
class Dog
{
    private $name = 'jim';
    private $age = 3;
    protected $master = 'keta';
    public $color = 'black';
}

$dog = new Dog();
  1. 使用数组读
$dogArray = (array)$dog;

$name = $dogArray["