var может указывать на локальную переменную var, созданную в этой функции. Или на аргумент этой функции. А this.var всегда указывает именно на свойство
В конструкторе Admin вы создаёте объект класс Privileges self.rules = Privileges()
но не передаёте никаких параметров. А у этого класса в конструкторе есть один обязательный параметр (rules), который, правда, никак не используется