This approach has several advantages:
Protection needs are simply declared, as opposed to a complex series of procedure calls.
Protection requirements can be stated independently of the support provided by a particular OS.
The means of enforcement need not be provided directly by the developer.
Declarative notation is natural, because access privileges are closely related to the concept of data types.