Write the Talker interface, Animal abstract class, plus the Dog, Cat, Fish, and Radio classes for this Java Program.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Write the Talker interface, Animal abstract class, plus the Dog, Cat, Fish, and Radio classes for this Java Program.
 
  • Talker.java - the interface Talker, which has just one void method called speak()
  • Animal.java - the abstract class Animal, which stores an animal's name. (No abstract methods). It should contain 2 methods:
    • a constructor with 1 argument (the name)
    • a method getName() which returns the name.
  • Dog.java - the class Dog, which extends Animal and implements Talker.  It should contain 3 methods:
    • a constructor with no arguments, giving the dog a default name of "Fido"
    • a constructor with 1 argument (the name)
    • a speak() method that prints "Woof" on the screen. Use @Override
  • Cat.java - the class Cat,  which extends Animal and implements Talker.  It should contain just 2 methods:
    • a constructor with 1 argument (the name)  (no default name like dogs have)
    • a speak() method that prints "Meow" on the screen. Use @Override
  • Fish.java - the class Fish, which is an Animal that doesn't talk.  So it only needs 1 constructor (with its name).
  • Radio.java - the class Radio, which is a Talker, but not an animal. Its @Override speak() method should print "blahblahblah"
 
Code:
 
import java.util.Scanner;
import java.util.ArrayList;

 

class Main
{
publicstaticvoid main(String[] args)
{
Scanner keyIn = new Scanner(System.in);
ArrayList<Talker> chatterbox = new ArrayList<Talker>();
ArrayList<Animal> menagerie = new ArrayList<Animal>();
String name, kind, another;

 

do
{
System.out.print("What do you have? Enter 'd' for dog, 'c' for cat, 'f' for fish, or 'r' for radio: ");
kind = keyIn.nextLine();
switch(kind.charAt(0))
{
case'd': case'D':
Dog doggy;
System.out.print("What is your dog's name? ");
name = keyIn.nextLine();
if(name.length() < 1)
doggy = new Dog();
else
doggy = new Dog(name);
chatterbox.add(doggy);
menagerie.add(doggy);
break;
case'c': case'C':
System.out.print("What is your cat's name? ");
name = keyIn.nextLine();
Cat myCat = new Cat(name);
chatterbox.add(myCat);
menagerie.add(myCat);
break;
case'f': case'F':
System.out.print("What is your fish's name? ");
name = keyIn.nextLine();
menagerie.add(new Fish(name));
break;
case'r': case'R':
chatterbox.add(new Radio());
break;
default:
System.out.println("Invalid entry.");
}
System.out.print("Do you want to enter another? Type y or n: ");
another = keyIn.nextLine();
}while(another.charAt(0) == 'y');

 

greet(menagerie);
cacophony(chatterbox);
}

 

// Greet each of the animals
privatestaticvoid greet(ArrayList<Animal> animals)
{
for(Animal a : animals)
{
System.out.println("Hello " + a.getName());
}
}

 

// Let each of the talkers speak...
privatestaticvoid cacophony(ArrayList<Talker> talkers)
{
for(Talker t : talkers)
{
t.speak();
System.out.println();
}
}
}

 

/* Sample Output when all the other classes have been written:

 

What do you have? Enter 'd' for dog, 'c' for cat, 'f' for fish, or 'r' for radio: d
What is your dog's name?
Do you want to enter another? Type y or n: y
What do you have? Enter 'd' for dog, 'c' for cat, 'f' for fish, or 'r' for radio: d
What is your dog's name? Franny
Do you want to enter another? Type y or n: y
What do you have? Enter 'd' for dog, 'c' for cat, 'f' for fish, or 'r' for radio: f
What is your fish's name? Bubbles
Do you want to enter another? Type y or n: y
What do you have? Enter 'd' for dog, 'c' for cat, 'f' for fish, or 'r' for radio: c
What is your cat's name? Tiger
Do you want to enter another? Type y or n: y
What do you have? Enter 'd' for dog, 'c' for cat, 'f' for fish, or 'r' for radio: r
Do you want to enter another? Type y or n: y
What do you have? Enter 'd' for dog, 'c' for cat, 'f' for fish, or 'r' for radio: d
What is your dog's name? Jenny
Do you want to enter another? Type y or n: n
Hello Fido
Hello Franny
Hello Bubbles
Hello Tiger
Hello Jenny
Woof
Woof
Meow
blahblahblah
Woof

 

*/
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 8 steps

Blurred answer
Knowledge Booster
Developing computer interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education