diff --git a/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/DemeterApplication.java b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/DemeterApplication.java new file mode 100644 index 0000000000..64ba2e2642 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/DemeterApplication.java @@ -0,0 +1,16 @@ +package com.baeldung.demeter; + +public class DemeterApplication { + public static void main(String[] args) { + + Expenses expenses = new Expenses(100, 10); + Employee employee = new Employee(); + employee.getDepartment() + .getManager() + .approveExpense(expenses); + + Manager mgr = new Manager(); + Employee emp = new Employee(mgr); + emp.submitExpense(expenses); + } +} diff --git a/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Department.java b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Department.java new file mode 100644 index 0000000000..6591193f1f --- /dev/null +++ b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Department.java @@ -0,0 +1,11 @@ +package com.baeldung.demeter; + +public class Department { + + private Manager manager = new Manager(); + + public Manager getManager() { + return manager; + } + +} diff --git a/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Employee.java b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Employee.java new file mode 100644 index 0000000000..7995ee9743 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Employee.java @@ -0,0 +1,23 @@ +package com.baeldung.demeter; + +public class Employee { + private Department department = new Department(); + private Manager manager; + + public Employee() { + + } + + Employee(Manager manager) { + this.manager = manager; + } + + public Department getDepartment() { + return department; + } + + public void submitExpense(Expenses expenses) { + manager.approveExpense(expenses); + } + +} \ No newline at end of file diff --git a/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Expenses.java b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Expenses.java new file mode 100644 index 0000000000..d0b2a3ec4d --- /dev/null +++ b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Expenses.java @@ -0,0 +1,16 @@ +package com.baeldung.demeter; + +public class Expenses { + + private double total; + private double tax; + + public Expenses(double total, double tax) { + this.total = total; + this.tax = tax; + } + + public double total() { + return total + tax; + } +} diff --git a/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Greetings.java b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Greetings.java new file mode 100644 index 0000000000..1267b17c4c --- /dev/null +++ b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Greetings.java @@ -0,0 +1,33 @@ +package com.baeldung.demeter; + +public class Greetings { + + HelloCountries helloCountries = new HelloCountries(); + + private static HelloCountries helloCountriesStatic = new HelloCountries(); + + public String generalGreeting() { + return "Welcome" + world(); + } + + public String world() { + return "Hello World"; + } + + public String getHelloBrazil() { + HelloCountries helloCountries = new HelloCountries(); + return helloCountries.helloBrazil(); + } + + public String getHelloIndia(HelloCountries helloCountries) { + return helloCountries.helloIndia(); + } + + public String getHelloJapan() { + return helloCountries.helloJapan(); + } + + public String getHellStaticWorld() { + return helloCountriesStatic.helloStaticWorld(); + } +} diff --git a/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/HelloCountries.java b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/HelloCountries.java new file mode 100644 index 0000000000..7fca0a6ec5 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/HelloCountries.java @@ -0,0 +1,20 @@ +package com.baeldung.demeter; + +public class HelloCountries { + + public String helloBrazil() { + return "Hello Brazil"; + } + + public String helloIndia() { + return "Hello India"; + } + + public String helloJapan() { + return "Hello Japan"; + } + + public String helloStaticWorld() { + return "Hello Static World"; + } +} diff --git a/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Manager.java b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Manager.java new file mode 100644 index 0000000000..c26b23daf6 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-others/src/main/java/com/baeldung/demeter/Manager.java @@ -0,0 +1,9 @@ +package com.baeldung.demeter; + +public class Manager { + + public void approveExpense(Expenses expenses) { + System.out.println("Expense approved" + expenses.total()); + } + +} \ No newline at end of file