From 100dc7b2417888b5067911631f490cb612f40f45 Mon Sep 17 00:00:00 2001 From: Charlie Date: Wed, 15 Jun 2022 20:49:43 +0200 Subject: [PATCH] Abstract Example --- .../AbstractInterface/House.java | 17 +++++++++++++ .../AbstractInterface/ResidentialHouse.java | 22 ++++++++++++++++ .../AnimalInheritance/Animal.java | 11 ++++++++ .../AnimalInheritance/Cat.java | 14 +++++++++++ .../AnimalInheritance/UseAnimals.java | 25 +++++++++++++++++++ .../AbstractExample/UseAnimalsTest.java | 18 +++++++++++++ 6 files changed, 107 insertions(+) create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AbstractInterface/House.java create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AbstractInterface/ResidentialHouse.java create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/Animal.java create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/Cat.java create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/UseAnimals.java create mode 100644 backend/kaiser/src/test/java/com/example/springKaiser/AbstractExample/UseAnimalsTest.java diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AbstractInterface/House.java b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AbstractInterface/House.java new file mode 100644 index 0000000..af3fef6 --- /dev/null +++ b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AbstractInterface/House.java @@ -0,0 +1,17 @@ +package com.example.springKaiser.AbstractExample.AbstractInterface; + +public interface House { + + final String HOUSETYPE = "ID9123701"; + + int rooms = 0; + int walls = 0; + boolean isWaterGoingThroughIt = true; + + public int getRooms(); + + public int getWalls(); + + public boolean isIsWaterGoingThroughIt(); + +} diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AbstractInterface/ResidentialHouse.java b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AbstractInterface/ResidentialHouse.java new file mode 100644 index 0000000..1787abf --- /dev/null +++ b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AbstractInterface/ResidentialHouse.java @@ -0,0 +1,22 @@ +package com.example.springKaiser.AbstractExample.AbstractInterface; + +public class ResidentialHouse implements House { + @Override + public int getRooms() { + return walls; + } + + @Override + public int getWalls() { + return 20; + } + + @Override + public boolean isIsWaterGoingThroughIt() { + return true; + } + + public String getGovernmentHouseTypeId() { + return HOUSETYPE; + } +} diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/Animal.java b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/Animal.java new file mode 100644 index 0000000..95d0519 --- /dev/null +++ b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/Animal.java @@ -0,0 +1,11 @@ +package com.example.springKaiser.AbstractExample.AnimalInheritance; + + public abstract class Animal { + int legs; + int arms = 5; + abstract void getLegs(); + + public int getArms() { + return this.arms; + } +} diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/Cat.java b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/Cat.java new file mode 100644 index 0000000..f5d7bfa --- /dev/null +++ b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/Cat.java @@ -0,0 +1,14 @@ +package com.example.springKaiser.AbstractExample.AnimalInheritance; + +public class Cat extends Animal { + + @Override + void getLegs() { + + } + + @Override + public int getArms() { + return 20; + } +} diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/UseAnimals.java b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/UseAnimals.java new file mode 100644 index 0000000..bb640c8 --- /dev/null +++ b/backend/kaiser/src/main/java/com/example/springKaiser/AbstractExample/AnimalInheritance/UseAnimals.java @@ -0,0 +1,25 @@ +package com.example.springKaiser.AbstractExample.AnimalInheritance; + +import org.springframework.stereotype.Service; + +@Service +public class UseAnimals { + Animal animal = new Animal() { + @Override + void getLegs() { + + } + }; + Cat cat = new Cat(); + + Animal catLikeCreature = new Cat(); + + public void exampleMethod() { + animal.getArms(); + cat.getArms(); + + catLikeCreature.getArms(); + } + + +} diff --git a/backend/kaiser/src/test/java/com/example/springKaiser/AbstractExample/UseAnimalsTest.java b/backend/kaiser/src/test/java/com/example/springKaiser/AbstractExample/UseAnimalsTest.java new file mode 100644 index 0000000..81deeff --- /dev/null +++ b/backend/kaiser/src/test/java/com/example/springKaiser/AbstractExample/UseAnimalsTest.java @@ -0,0 +1,18 @@ +package com.example.springKaiser.AbstractExample; + +import com.example.springKaiser.AbstractExample.AnimalInheritance.UseAnimals; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class UseAnimalsTest { + + @Autowired + private UseAnimals useAnimals; + + @Test + void exampleMethod() { + useAnimals.exampleMethod(); + } +} \ No newline at end of file