Basic Parameterised Constructor & "this" keyword -2

Due to naming conflict we use "this" keyword inside parameterised constructor. If there is no naming conflict you can remove the "this" keyword . But it's good practice to always use the "this" keyword

void main() {
  // Parameterised Constructor 

  
  //var employee1 = Employee();
  
  
  var employee1 = Employee(1, "John", "Doe", "CTO", 12);

  print(employee1.id);
  print(employee1.firstname);
  print(employee1.lastname);
  print(employee1.position);
  print(employee1.number_of_day_worked);
}

class Employee {
  int id;

  String firstname;

  String lastname;

  String position;

  int number_of_day_worked;
  
  
  


  //  Parameterised Constructor - 1
  
  
 
   Employee(id, firstname, lastname, position, number_of_day_worked) {
    this.id = id;
    this.firstname = firstname;
    this.lastname = lastname;
    this.position = position;
    this.number_of_day_worked = number_of_day_worked;
   }
  
  
  
  
    

  //  Parameterised Constructor   - we avoid the following to be consistent  

//    Employee(a, b, c, d, e) {
//     id = a;
//     firstname = b;
//     lastname = c;
//     position = d;
//     number_of_day_worked = e;
//    }

  

}

The values passed in the parameterised constructor are assigned to the instance variables.

So, Parameterised constructor creates the object and also sets the instance variables

You can't use default constructor and parameterised constructor in the same class definition .

Last updated