Typescript - Automobile Polymorphism
Typescript - Automobile Polymorphism
Create a class "Automobile" that has two protected properties and a method:
⚫ fuelType and price
⚫ initialize the properties using constructor
⚫ printinfo(): displays "I am automobile" in console
⚫ Now create another class "Car" which extends the above class and has two functions
⚫ constructor: this initializes "fuelType" and "price" by invoking the base class constructor
⚫ printinfo: displays Fuel type and price of that object in a format specified below //overriding function
Fuel Type:
Sample Output:
I am automobile Fuel Type: Petrol Price: 100
Note: Inputs are passed in the constructor of the class Car
Note: Even though you got the exact output, the test cases will fail if you do not use the typescript OOPs concepts as mentioned in the problem statement.
class Automobile {
protected fuelType: string;
protected price: number;
constructor(fuelType: string, price: number) {
this.fuelType = fuelType;
this.price = price;
}
printInfo(): void {
console.log("I am automobile");
}
}
class Car extends Automobile {
constructor(fuelType: string, price: number) {
super(fuelType, price);
}
// Overriding the printInfo method from the base class
printInfo(): void {
super.printInfo(); // Call the base class method
console.log(`Fuel Type: ${this.fuelType}`);
console.log(`Price: ${this.price}`);
}
}
// Example usage:
const car = new Car("Petrol", 100);
// Calling the overridden method
car.printInfo();
// Example usage:
const car = new Car("Petrol", 100);
// Calling the overridden method
car.printInfo();
First read the algorithm, then study the program code line by line. After that, compare the code with the output and finally go through the explanation. This approach helps learners understand both the logic and the implementation properly.
After understanding this example, try to rewrite the same program without looking at the code. Then change some values or logic and run it again. This helps improve confidence and keeps learners engaged on the page for longer.