$35
This programming assignment will test your knowledge and your implementation abilities of what you have learned in the Java and OOP Concepts parts of the class.
This homework must be completed individually. Discussion about algorithms and data structures are allowed but group work is not. Coming up with the same algorithm and talking about the ways of implementation leads to very similar code which is treated as plagiarism! Discuss carefully. Any academic dishonesty, which includes taking someone else’s code or having another person doing the assignment for you will not be tolerated. By submitting your assignment, you agree to abide by the Ko¸c University codes of conduct.
Description
This assignment is designed to assess your understanding of java essentials; abstractions, interfaces, encapsulation, polymorphism and access control of java methods. The project is about animals. There are many species in animal kingdom with many common behaviors as well as their different properties. In this assignment you are required to implement some of the parts of the provided files to complete it. The code has comments about the assigment. Majority of what you need to do is actually in these comments so make sure you read them carefully.
The descriptions for the provided files are below. Bold ones are the ones you need to modify and they are placed under the code folder, with the rest under given.
• Animal.java: This file includes the definition of the Animal abstract class. You are going to need to look at this file however you do not need to modify anything in it.
• iHabitat.java: This file includes the definition of the iHabitat interface which is implemented by the Animal class. You are going to need to look at this file however you do not need to modify anything in it.
• iBehavior.java: You need to implement the iBehavior interface in this file. Follow the instructions given in the code.
• Cat.java: You are provided with the basic structure of the Cat class in the file. Follow the instructions carefully to complete the sections where you are required to write code.
• Angora.java and Caracal.java: You are required to implement the Angora and the Caracal classes by following the instructions given in the files.
• Main.java: Use this file to print outputs for Angora, Caracal and the Cat classes.
• Util.java: This file includes utility functions. Do not worry about it, you will not need to use anything from this file in this assignment.
1