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 new file mode 100644 index 0000000..a9d6488 --- /dev/null +++ b/oop/code/oop/src/main/java/com/scaler/lld/bird/Bird.java @@ -0,0 +1,16 @@ +package com.scaler.lld.bird; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public abstract class Bird { + private Integer weight; + private String colour; + private String size; + private String beakType; + private BirdType type; + + public abstract void fly(); +} diff --git a/oop/code/oop/src/main/java/com/scaler/lld/bird/BirdType.java b/oop/code/oop/src/main/java/com/scaler/lld/bird/BirdType.java new file mode 100644 index 0000000..52136dd --- /dev/null +++ b/oop/code/oop/src/main/java/com/scaler/lld/bird/BirdType.java @@ -0,0 +1,5 @@ +package com.scaler.lld.bird; + +public enum BirdType { + Eagle, Penguin, Parrot +} 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(); + } +}