You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.3 KiB

University

Instructions

Create a class named University.

Its attributes:

  • name - private string
  • city - private string
  • ranking - private int?
  • getters:
    • name
    • city
    • ranking
  • Constructor:
    • name - required
    • city - required
    • ranking - optional

Encapsulation

Sometimes we need to limit access to class attributes so that it can be accessed only from the class itself. This concept is called Encapsulation.

In Dart we can make attributes private (meaning that they can be changed or used only in the instances of this class) by putting underscore (_) in the beginning of fields' or methods' name.

Bear in mind that in Dart there is no Encapsulation on a class level. According to Dart's documentation:

  • Importing libraries can help you create a modular and shareable code base. Libraries not only provide APIs, but are unit of privacy: private variables, i.e. starting with an underscore (_) are visible only inside the library. Every Dart app is a library, even if it doesn’t use a library directive.

Still, even on a class level it is a good practice to declare private values and not to use values that are intended to be private.


class Person {
  bool _hunger = true;

  void feed() {
    this._hunger = false;
  }

}