Welcome to my Jets application project. This project simulates an airfield management system. It allows a user to manage an airfield through a variety of options. Users can view the airfield fleet, add a jet to the fleet, remove a jet from the fleet, as well as deploy fighter jets to engage with enemies. The aforementioned list is not exhaustive. A simple text based UI was implemented with options being chosen through menus and sub-menus.
This program is a simple java program. As such you are able to run it by opening the JetsApplication.java file in an IDE or terminal and run using the appropriate commands.
- Abstraction
- Polymorphism
- Inheritance
- Encapsulation
- Loops
- If else statements
- Switch statements
- Input validation
- Overriding built in methods
- Field initialization blocks
- Abstract Classes
- Interfaces
I really feel like the pieces of OOP started to fall in place with this project. The challenge, scope, and breadth of this project helped me cement the importance of Abstraction, Polymorphism, Inheritance, and Encapsulation. This is definitely the largest project I have completed to date. It is also perhaps the first where I have had to juggle a more complex and numerous set of classes, who is extending and implementing what, and how the inheritance hierarchy can be manipulated to create code that is both logical and useful. This project also helped me further distinguish the difference between abstract classes and interfaces. Perhaps, more important than what I learned to do is what I learned I cannot do. I gained a better understanding of my weaknesses in Java and where I can concentrate further study efforts to ensure I continue growing as a developer.