program to demonstrate single level inheritance class Person { // Properties String? name; int? age; // Method void display() { print("Name: $name"); print("Age: $age"); } } // Here In student class, we are extending the // properties and methods of the Person class class Student extends Person { // Fields String? schoolName; String? schoolAddress; // Method void displaySchoolInfo() { print("School Name: $schoolName"); print("School Address: $schoolAddress"); } } void main() { // Creating an object of the Student class var student = Student(); student.name = "John"; student.age = 20; student.schoolName = "ABC School"; student.schoolAddress = "New York"; student.display(); student.displaySchoolInfo(); } ________________________________________________________________________________________________________ Another example of single level inheritance class Car { // Properties String? name; double? prize; } class Tesla extends Car { // Method to display the values of the properties void display() { print("Name: ${name}"); print("Prize: ${prize}"); } } void main() { // Create an object of Tesla class Tesla t = new Tesla(); // setting values to the object t.name = "Tesla Model 3"; t.prize = 50000.00; // Display the values of the object t.display(); } ________________________________________________________________________________________________________ Example of multilevel inheritance class Car { // Properties String? name; double? prize; } class Tesla extends Car { // Method to display the values of the properties void display() { print("Name: ${name}"); print("Prize: ${prize}"); } } class Model3 extends Tesla { // Properties String? color; // Method to display the values of the properties void display() { super.display(); print("Color: ${color}"); } } void main() { // Create an object of Model3 class Model3 m = new Model3(); // setting values to the object m.name = "Tesla Model 3"; m.prize = 50000.00; m.color = "Red"; // Display the values of the object m.display(); } ________________________________________________________________________________________________________ Another example of multilevel inheritance class Person { // Properties String? name; int? age; } class Doctor extends Person { // Properties List? listofdegrees; String? hospitalname; // Method to display the values of the properties void display() { print("Name: ${name}"); print("Age: ${age}"); print("List of Degrees: ${listofdegrees}"); print("Hospital Name: ${hospitalname}"); } } class Specialist extends Doctor { // Properties String? specialization; // Method to display the values of the properties void display() { super.display(); print("Specialization: ${specialization}"); } } void main() { // Create an object of Specialist class Specialist s = new Specialist(); // setting values to the object s.name = "John"; s.age = 30; s.listofdegrees = ["MBBS", "MD"]; s.hospitalname = "ABC Hospital"; s.specialization = "Cardiologist"; // Display the values of the object s.display(); } ________________________________________________________________________________________________________ Example of hierarchical inheritance class Shape { // Properties double? diameter1; double? diameter2; } class Rectangle extends Shape { // Method to calculate the area of the rectangle double area() { return diameter1! * diameter2!; } } class Triangle extends Shape { // Method to calculate the area of the triangle double area() { return 0.5 * diameter1! * diameter2!; } } void main() { // Create an object of Rectangle class Rectangle r = new Rectangle(); // setting values to the object r.diameter1 = 10.0; r.diameter2 = 20.0; // Display the area of the rectangle print("Area of the rectangle: ${r.area()}"); // Create an object of Triangle class Triangle t = new Triangle(); // setting values to the object t.diameter1 = 10.0; t.diameter2 = 20.0; // Display the area of the triangle print("Area of the triangle: ${t.area()}"); } ________________________________________________________________________________________________________ Program to demonstrate constructors in inheritance class Laptop { // Constructor Laptop() { print("Laptop constructor"); } } class MacBook extends Laptop { // Constructor MacBook() { print("MacBook constructor"); } } void main() { var macbook = MacBook(); } ________________________________________________________________________________________________________ Example of constructor having parameters in inheritance class Laptop { // Constructor Laptop(String name, String color) { print("Laptop constructor"); print("Name: $name"); print("Color: $color"); } } class MacBook extends Laptop { // Constructor MacBook(String name, String color) : super(name, color) { print("MacBook constructor"); } } void main() { var macbook = MacBook("MacBook Pro", "Silver"); } ________________________________________________________________________________________________________ Example of constructor in single level inheritance class Person { String name; int age; // Constructor Person(this.name, this.age); } class Student extends Person { int rollNumber; // Constructor Student(String name, int age, this.rollNumber) : super(name, age); } void main() { var student = Student("John", 20, 1); print("Student name: ${student.name}"); print("Student age: ${student.age}"); print("Student roll number: ${student.rollNumber}"); } ________________________________________________________________________________________________________ Example of named constructor in inheritance class Laptop { // Default Constructor Laptop() { print("Laptop constructor"); } // Named Constructor Laptop.named() { print("Laptop named constructor"); } } class MacBook extends Laptop { // Constructor MacBook() : super.named() { print("MacBook constructor"); } } void main() { var macbook = MacBook(); } ________________________________________________________________________________________________________ Example of super keyword to refer to properties of parent class class Car { int noOfSeats = 4; } class Tesla extends Car { int noOfSeats = 6; void display() { print("No of seats in Tesla: $noOfSeats"); print("No of seats in Car: ${super.noOfSeats}"); } } void main() { var tesla = Tesla(); tesla.display(); } ________________________________________________________________________________________________________ example of calling constructor of parent class using super keyword class Employee { // Constructor Employee(String name, double salary) { print("Employee constructor"); print("Name: $name"); print("Salary: $salary"); } } class Manager extends Employee { // Constructor Manager(String name, double salary) : super(name, salary) { print("Manager constructor"); } } void main() { Manager manager = Manager("John", 25000.0); } ________________________________________________________________________________________________________