Classes, methods and attributes can be accessed at various levels of scope. What determines this access is the visibility modifier that will be implemented, which will indicate where certain level element can be accessed. For example, a variable X can only be accessed within the scope of the class; on the other hand, the variable Y can be accessed from the instantiated object. Thanks to this feature is that the concept of encapsulation of object-oriented programming can be applied.

Within the UML notation it is possible to enter through specific characters, which the visibility of each of the elements that make up a class. By default, most languages use three reserved words to determine the visibility of elements:

  • public: indicating that the element can be accessed from the instantiated object;
  • private: indicates that the element can only be accessed in the local scope;
  • protected: Indicates the protected element that can only be accessed within the scope or derived classes;
  • default: indicates that the element uses the default property of language.

In the UML notation format, the visibility of the elements is displayed as follows:

Representation UML

  • “+” : public;
  • “-” : private;
  • “#” : protected;
  • ~“: default.

Upon receiving the notation that is the left side of the names of the element, the programmer will know exactly how to program the element within the applied modeling. Following is presented a practical example of using the displayed notation:


+ name: String

~ ID: String

# age: int

– balanceAccount: double

~ CustomerDatabase (name: String, ID: String)

+ getBalanceAccount () :double

+ getBalanceAccount(balanceAccount: double) :void

#setAge (age: int) :void

In the example, the attributes, shown in the first diagram block after the class name, have their visibility indicated by the standard notation. The following methods are also presented along with the modifier.

Once the programmer gets this diagram, he just needs to use the corresponding syntax to the modifier within the programming language used for development.

Check out more content on our blog!
Learn all about Scriptcase.

By ,

June 17, 2015


You might also like…

Low-code: Simplifying Development Without Sacrificing Quality

In today's agile and competitive world, productivity is crucial for the success of any business. Th...

Web Systems 101: Understanding the Fundamentals and Benefits

In today's digital age, web systems have become integral to our daily lives. These systems connect ...

6 reasons to demystify Low-code

Low-code has become an increasingly popular approach for software development, but certain misconce...

You might also like…

Get new posts, resources, offers and more each week.

We will use the information you provide to update you about our Newsletter and Special Offers. You can unsubscribe any time you want by clinck in a link in the footer of any email you receive from us, or by contacting us at Learn more about our Privacy Police.