Holodeck Design Project
From Huben's Wiki
Line 1: | Line 1: | ||
It is a little known fact that the Holodeck is programmed in Java. You need to develop a new holodeck simulation that has 5 different classes with particular methods. | It is a little known fact that the Holodeck is programmed in Java. You need to develop a new holodeck simulation that has 5 different classes with particular methods. | ||
− | {| border="1" align="center" | + | {| border="1" |
− | + | |- align="center" | |
! class | ! class | ||
! graze() | ! graze() | ||
! fly() | ! fly() | ||
− | ! | + | ! ears() |
! hooves() | ! hooves() | ||
! flame() | ! flame() | ||
− | |- | + | |- align="center" |
− | ! Horse | + | ! Horse |
− | |- | + | | X || || || X || |
− | ! Elephant | + | |- align="center" |
− | |- | + | ! Elephant |
− | ! Pegasus | + | | X || || X || || |
− | |- | + | |- align="center" |
− | ! Dumbo | + | ! Pegasus |
− | |- | + | | X || X || || X || |
− | ! Dragon | + | |- align="center" |
+ | ! Dumbo | ||
+ | | X || X || X || || | ||
+ | |- align="center" | ||
+ | ! Dragon | ||
+ | | || X || || || X | ||
|} | |} | ||
Line 24: | Line 29: | ||
* You will create super classes and/or interfaces as needed so that you could use polymorphism for the methods that are present in more than one class. | * You will create super classes and/or interfaces as needed so that you could use polymorphism for the methods that are present in more than one class. | ||
* To keep it simple, all methods have no arguments and return strings with the class name and the method name, such as "Dragon flame". If a method is inherited, you can just use the inherited method: no need to override the method. | * To keep it simple, all methods have no arguments and return strings with the class name and the method name, such as "Dragon flame". If a method is inherited, you can just use the inherited method: no need to override the method. | ||
+ | * None of your classes should have methods that are not checked: Dragon should not have a graze() method. | ||
* Use the following class to see your results. | * Use the following class to see your results. | ||