Showcasing Simple Implementation of Interfaces With Animals
parent
6dc0b549f6
commit
e2ca162fa0
@ -0,0 +1,9 @@
|
|||||||
|
package src;
|
||||||
|
|
||||||
|
public interface Animal {
|
||||||
|
|
||||||
|
String animalName();
|
||||||
|
String animalSound();
|
||||||
|
double animalPrice();
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,38 @@
|
|||||||
|
package src;
|
||||||
|
|
||||||
|
public class AnimalHelper {
|
||||||
|
|
||||||
|
private final Animal[] animals;
|
||||||
|
private double averagePrice;
|
||||||
|
|
||||||
|
public AnimalHelper(Animal[] animals) {
|
||||||
|
this.animals = animals;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void displayInformation() {
|
||||||
|
/* Display the animal information */
|
||||||
|
|
||||||
|
int total = 0;
|
||||||
|
double sum = 0.0;
|
||||||
|
|
||||||
|
for (Animal animal : animals) {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
|
||||||
|
stringBuilder.append("\n\nName: " + animal.animalName());
|
||||||
|
stringBuilder.append("\nSound: " + animal.animalSound());
|
||||||
|
stringBuilder.append("\nPrice: £" + animal.animalPrice());
|
||||||
|
|
||||||
|
System.out.println(stringBuilder.toString());
|
||||||
|
|
||||||
|
total++;
|
||||||
|
sum += animal.animalPrice();
|
||||||
|
}
|
||||||
|
averagePrice = sum / total;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void displayAveragePrice() {
|
||||||
|
/* Display the average price of all the animals */
|
||||||
|
|
||||||
|
System.out.printf("\nThe Average Price For All The Animals Are: £%.2f", averagePrice);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
package src;
|
||||||
|
|
||||||
|
public class AnimalMain {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
displayAnimals();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void displayAnimals() {
|
||||||
|
|
||||||
|
// Creating an array of animal objects
|
||||||
|
AnimalHelper helper = new AnimalHelper(new Animal[] {
|
||||||
|
new Cow(),
|
||||||
|
new Cat(),
|
||||||
|
new Dog(),
|
||||||
|
new Horse()
|
||||||
|
});
|
||||||
|
|
||||||
|
// Displaying information about the animals
|
||||||
|
helper.displayInformation();
|
||||||
|
helper.displayAveragePrice();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package src;
|
||||||
|
|
||||||
|
public class Cat implements Animal {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String animalName() {
|
||||||
|
return "Cat";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String animalSound() {
|
||||||
|
return "Meoooww";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double animalPrice() {
|
||||||
|
return 29.99;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package src;
|
||||||
|
|
||||||
|
public class Cow implements Animal {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String animalName() {
|
||||||
|
return "Cow";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String animalSound() {
|
||||||
|
return "Moooo";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double animalPrice() {
|
||||||
|
return 10.99;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package src;
|
||||||
|
|
||||||
|
public class Dog implements Animal {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String animalName() {
|
||||||
|
return "Dog";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String animalSound() {
|
||||||
|
return "Woof Woof";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double animalPrice() {
|
||||||
|
return 15.99;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package src;
|
||||||
|
|
||||||
|
public class Horse implements Animal {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String animalName() {
|
||||||
|
return "Horse";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String animalSound() {
|
||||||
|
return "Neighh";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double animalPrice() {
|
||||||
|
return 59.99;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue