Method Overriding
When a Child class redefines the method of its Parent class then it is called Method Overriding
Overriding is done so that a child class can give its own implementation to the method which is already provided by the parent class.
void main() {
// Method overidding
var manager1 = Manager();
manager1.id =1;
manager1.firstname="John";
manager1.lastname="Doe";
manager1.dayworked=30;
manager1.project ="Alpha";
print(manager1.salary(20));
}
class Employee {
int id;
int dayworked;
String firstname;
String lastname;
String fullname() {
return this.firstname + " " + this.lastname;
}
int salary(int perDaywage) {
return (this.dayworked * perDaywage);
}
}
// Manager Class
class Manager extends Employee {
//property
String project;
//Method
String manageproject(){
return "Managing project " + " " + this.project;
}
int salary(int perDaywage) {
return ((this.dayworked * perDaywage)+30);
}
}
The number and data type of function’s argument must match while overriding the method

Here in the child class , the return type and the argument datatype of the method is changed from "int" to "double" , so the compiler shows an error
You can visualise method overriding like below -

Last updated
Was this helpful?