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…

“We have developed the Connected Citizen Card, which assists public administrators in decision-making and policy creation.”(Assist Soluções em TI)

Check below how Assist Soluções em TI used Scriptcase to modernize and streamline the development...

AI-Driven Software Development: The Role of ChatGPT

In the rapidly evolving world of technology, artificial intelligence (AI) is playing an increasingl...

Low-Code: The Key to Accessible Digital Transformation

Digital transformation is imperative for companies wishing to remain competitive in the current era...

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.