Code Monkey home page Code Monkey logo

maven.talkingpets's Introduction

Polymorphism Lab 1

Objectives

  1. Students will practice basic polymorphic program design in this lab.
  2. After completing this lab students should be familiar with running tests against their code to confirm it is functioning properly.

Overview

In this lab you will practice creating a simple Java program designed to make use of polymorphic design.

Unit Test

Select a partner from your tribe; You will each write tests for the requirements below, but your partner must develop against your tests and vice versa. Be sure to use the io.zipcoder.pets package for your Pet classes to allow tests to execute properly.

Hint: An easy way to achieve this is for each partner to set up a GitHub repository for this lab, and add the other partner as a collaborator with write access (in the repository settings).

Instructions

Part 1:

Create a program that asks the user how many pets they have. Once you know how many pets they have, ask them what kind of pet each one is, along with each pet's name. For now your program should just hold onto the user input and print out the list at the end; we'll modify this in part 3.

Part 2:

Create a Pet class, and a subclass for each type of pet that you want your program to support. Your classes should follow the following requirements:

  • You must support at least three types of pets.
  • Dog must be one of the types you support.
  • Cat must be one of the types you support.
  • The Pet class must have a speak method that each subclass overrides.
  • The Pet class must have a name field with setters and getters.

Use the tests provided as examples to write your own tests for other supported types of pets.

Part 3:

Modify your program from part 1 to use the Pet class and its subclasses. Keep a list of the pets your user lists and at the end of the program print out a list of their names and what they say when they speak.

maven.talkingpets's People

Contributors

leon-good-life avatar davidginzberg avatar thesleuth avatar jgiroso avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.