Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,18 @@
<groupId>io.zipcoder</groupId>
<artifactId>polymorphism-1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>14</source>
<target>14</target>
</configuration>
</plugin>
</plugins>
</build>
<packaging>jar</packaging>

<name>interfaces-1</name>
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/Cat.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

public class Cat extends Pet {

public Cat(String name) {
super(name);
this.name = name;
}
public String speak(){
return "Meow";
}
}
10 changes: 10 additions & 0 deletions src/main/java/Chicken.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
public class Chicken extends Pet{

public Chicken (String name) {
super(name);
this.name = name;
}
public String speak() {
return "Cuckoo";
}
}
10 changes: 10 additions & 0 deletions src/main/java/Dog.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
public class Dog extends Pet {

public Dog(String name) {
super(name);
this.name = name;
}
public String speak(){
return "Woof";
}
}
19 changes: 19 additions & 0 deletions src/main/java/Pet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@

public abstract class Pet {
String name;

public Pet(String name) {
this.name = name;

}

public void setName(String name) {
this.name = name;
}

public String getName() {
return name;
}

abstract public String speak();
}
25 changes: 25 additions & 0 deletions src/main/java/io/zipcoder/polymorphism/Console.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package io.zipcoder.polymorphism;

import java.util.Scanner;

public class Console {

public static void print(String output, Object... args){
System.out.printf(output, args);
}
public static void println(String output, Object... args){
print(output + "\n", args);
}
public static String getStringInput(String prompt){
Scanner scanner = new Scanner(System.in);
println(prompt);
String userInput = scanner.nextLine();
return userInput;
}
public static Integer getIntegerInput(String prompt) {
Scanner scanner = new Scanner(System.in);
println(prompt);
int userInput = Integer.parseInt(scanner.nextLine());
return userInput;
}
}
22 changes: 22 additions & 0 deletions src/main/java/io/zipcoder/polymorphism/MainApplication.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
package io.zipcoder.polymorphism;


import java.security.DigestException;

public class MainApplication {
public static void main(String[] args) {
Integer numPets = Console.getIntegerInput("Hey you! How many pets do you own?");
if(numPets > 0) {
for(int i = 0; i < numPets; i++){
String petType = Console.getStringInput("What kind of pet do you own?\n" + "Dog \n" + "Cat \n" + "Chicken \n");

String petName = Console.getStringInput("What is the name of your pet? \n");

System.out.println("Wow I like your pet name! Goodbye!");




}

}

}

}
18 changes: 18 additions & 0 deletions src/test/java/CatTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import org.junit.Assert;
import org.junit.Test;

public class CatTest {

@Test
public void speakTest(){
// Given:
Pet cat = new Cat("Garfield");
String expected = "Meow";

// When:
String actual = cat.speak();

// Then:
Assert.assertEquals(expected,actual);
}
}
17 changes: 17 additions & 0 deletions src/test/java/ChickenTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import org.junit.Assert;
import org.junit.Test;

public class ChickenTest {
@Test
public void speakTest(){
// Given:
Pet chicken = new Chicken("Protein");
String expected = "Cuckoo";

// When:
String actual = chicken.speak();

// Then:
Assert.assertEquals(expected,actual);
}
}
19 changes: 19 additions & 0 deletions src/test/java/DogTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import org.junit.Assert;
import org.junit.Test;

public class DogTest {
@Test
public void speakTest(){
// Given:
Dog dog = new Dog("Clifford");
String expected = "Woof";

// When:
String actual = dog.speak();

// Then:
Assert.assertEquals(expected,actual);
}


}
4 changes: 4 additions & 0 deletions src/test/java/PetTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@


public class PetTest {
}