Дочерний класс ничего не знает про приватные поля родительского, и может содержать одноимённые поля/методы/свойства, причём не обязательно такого же типа и с таким же модификатором доступа.
Когда вы создаёте переменную с типом дочернего класса, то у вас отрабатывают все родительские конструкторы, и в памяти создаются все поля родительских классов. Они необходимы для работы всех унаследованных методов и свойств, но напрямую получить доступ к приватным полям нельзя.