If you look at the above code, you will notice that the employee class’s constructor has input parameters that are called Firstname, Salary, and Age. But these names are also used as the names of the Employee class’s properties.

As a result it can get a bit confusing as to what we are referring to, and consequently the above code will result in an error message:

One way to fix this is by using changing the names for the properties/input-parameters. However you would often want the names to match as a way to make it easier to see the link between an input parameter, and the property it sets/gets. That’s why a better way is by using the “this” keyword as a label the members that are internal to the class (e.g. private members), i.e. we can rewrite the above code to: