diff --git a/oop/code/oop/src/main/java/com/scaler/lld/bird/Bird.java b/oop/code/oop/src/main/java/com/scaler/lld/bird/Bird.java index b6a014c..a9d6488 100644 --- a/oop/code/oop/src/main/java/com/scaler/lld/bird/Bird.java +++ b/oop/code/oop/src/main/java/com/scaler/lld/bird/Bird.java @@ -5,20 +5,12 @@ import lombok.Getter; @AllArgsConstructor @Getter -public class Bird { +public abstract class Bird { private Integer weight; private String colour; private String size; private String beakType; private BirdType type; - public void fly() { - if (type == BirdType.Eagle) { - System.out.println("Eagle is flying"); - } else if (type == BirdType.Penguin) { - System.out.println("Penguin is swimming"); - } else if (type == BirdType.Parrot) { - System.out.println("Parrot is flying"); - } - } + public abstract void fly(); } diff --git a/oop/code/oop/src/main/java/com/scaler/lld/bird/Eagle.java b/oop/code/oop/src/main/java/com/scaler/lld/bird/Eagle.java new file mode 100644 index 0000000..0ed2b4d --- /dev/null +++ b/oop/code/oop/src/main/java/com/scaler/lld/bird/Eagle.java @@ -0,0 +1,14 @@ +package com.scaler.lld.bird; + +public class Eagle extends Bird { + + public Eagle(Integer weight, String colour, String size, String beakType, BirdType type) { + super(weight, colour, size, beakType, type); + } + + @Override + public void fly() { + System.out.println("\nEagle is flying"); + } + +} diff --git a/oop/code/oop/src/main/java/com/scaler/lld/bird/Parrot.java b/oop/code/oop/src/main/java/com/scaler/lld/bird/Parrot.java new file mode 100644 index 0000000..a3eae19 --- /dev/null +++ b/oop/code/oop/src/main/java/com/scaler/lld/bird/Parrot.java @@ -0,0 +1,14 @@ +package com.scaler.lld.bird; + +public class Parrot extends Bird { + + public Parrot(Integer weight, String colour, String size, String beakType, BirdType type) { + super(weight, colour, size, beakType, type); + } + + @Override + public void fly() { + System.out.println("\nParrot is flying"); + } + +} diff --git a/oop/code/oop/src/main/java/com/scaler/lld/bird/Runner.java b/oop/code/oop/src/main/java/com/scaler/lld/bird/Runner.java new file mode 100644 index 0000000..4ad2196 --- /dev/null +++ b/oop/code/oop/src/main/java/com/scaler/lld/bird/Runner.java @@ -0,0 +1,11 @@ +package com.scaler.lld.bird; + +public class Runner { + public static void main(String[] args) { + Bird parrot = new Parrot(10, "Green", "Small", "Sharp", BirdType.Parrot); + parrot.fly(); + + Bird eagle = new Eagle(20, "Brown", "Medium", "Sharp", BirdType.Eagle); + eagle.fly(); + } +}