voidmain() {// Significance of "this" keyword var employee1 =Employee(); // Creating employee1 object var employee2 =Employee(); // Creating employee2 object //Attribute <=> Instance Variable <=> Field Variable // Setting the instance variable of employee1 object employee1.id =1; employee1.firstname ="John"; employee1.lastname ="Doe"; employee1.position ="CTO"; employee1.number_of_day_worked=12; employee2.id =2; employee2.firstname ="Jane"; employee2.lastname ="Doe"; employee2.position ="CEO"; employee2.number_of_day_worked=10;// companyname for employee2 will be set to "A" , because we // didn't set it, it take the default value from class // Methods Calling <=> Invoke method // employee1.calculate_salary(); employee1.fullname();print("-----------------------"); employee2.calculate_salary(); employee2.fullname();}classEmployee{int id;String firstname;String lastname; String position;int number_of_day_worked;//Method voidteam_meeting_schedule(){// logic for team_meeting }voidfullname(){//logic for full name print("${this.firstname}"+" "+"${this.lastname}"); }voidcalculate_salary(){// logic for calculating salaryint per_day_income =100;print("${per_day_income*(this.number_of_day_worked)}"); }}
Think of "this" as a placeholder or a reference variable for an instance . When we invoke a method on an instance , "this" is replaced by that instance