🌎 Leia em Português
Invisto+ is a project designed to practice advanced Object-Oriented Programming concepts in Java, exploring interfaces, abstract classes, generics, and inheritance.
The system simulates an investment portfolio, allowing operations such as buy, sell, withdraw, and calculate returns for different types of financial assets.
- Apply Interfaces and Polymorphism
- Create an abstract base class for investment types
- Use Generics to ensure type safety
- Implement inheritance to specialize investments
- Encourage clean design, class responsibility, and cohesion
Essential methods:
buy()sell()withdraw()calculateReturn()
Defines default behavior and generic contracts for:
buy()sell()calculateReturn()
More specific behaviors for subclasses:
withdraw()listReturn()
Each one represents a real investment type:
Stock🏛️ — variable income assetInvestmentFund📊 — diversified fundsGovernmentBond🏦 — fixed income asset
- Investment registration
- Buy/sell operations
- Specific withdrawals by asset type
- Return calculations per investment
- Console output demonstrating functionality
- Java 21 ☕
- OOP paradigm
- Collections and Generics
- Design best practices
# Clone repository
git clone https://github.com/Jprogram-Java-Projects/invistoplus.git
cd invistoplus
# Compile and execute
javac src/**/*.java
java src/Main.java- Data persistence using files or database
- GUI (JavaFX or Web)
- Portfolio performance reports
- Unit testing with JUnit
Project developed for study and improvement of Java OOP concepts.
Feel free to contribute! Pull requests are welcome 🚀✨