An open API service indexing awesome lists of open source software.

https://github.com/sergebyte/oop-java-projects

This repository contains various Object-Oriented Programming (OOP) projects implemented in Java. Each project demonstrates key OOP principles such as encapsulation, inheritance, polymorphism, and abstraction.
https://github.com/sergebyte/oop-java-projects

java oop

Last synced: about 1 year ago
JSON representation

This repository contains various Object-Oriented Programming (OOP) projects implemented in Java. Each project demonstrates key OOP principles such as encapsulation, inheritance, polymorphism, and abstraction.

Awesome Lists containing this project

README

          

# **OBJECT-ORIENTED PROGRAMMING JAVA PROJECTS**

This repository contains various Object-Oriented Programming (OOP) projects implemented in Java. Each project demonstrates key OOP principles such as encapsulation, inheritance, polymorphism, and abstraction.

## **Projects Overview**

### **[01. Intro into Classification](projects/01-intro-classification)**
A classification system that categorizes individuals into fictional universes using rules based on their traits, implemented with OOP design and JSON handling.

### **[02. Working with Classes](projects/02-working-with-classes)**
A project demonstrating class structures, JSON handling, text processing, and comparisons through various tasks including a virtual assistant.

### **[03. Introducing Inheritance](projects/03-introducing-inheritance)**
A coffee shop simulation that implements inheritance hierarchies, method overriding, and encapsulation with an animated terminal UI using JLine.

### **[04. Abstraction and Polymorphism](projects/04-abstraction-polymorphism)**
A project focused on abstract classes, interfaces, and polymorphic behaviors to create modular and reusable Java components.

### **[Common Library](projects/common)**
A shared library of reusable components for JSON operations, file handling, argument parsing, text loading, and terminal-based UI utilities.

## **Repository Structure**
```
oop-java-projects

├── projects
│ ├── 01-intro-classification (Classification System)
│ ├── 02-working-with-classes (Tasks with Classes)
│ ├── 03-introducing-inheritance (Coffee Inheritance)
│ ├── 04-abstraction-polymorphism (Abstraction and Polymorphism)
│ └── common (Shared Utilities)

├── pom.xml (Parent Maven Configuration)
└── README.md (This file)
```

## **Technologies Used**
- **Java 21**
- **Maven 3.9+**
- **Jackson** for JSON processing
- **JLine** for terminal-based UI

## **License**
The source code of this repository is licensed under the MIT License. See the [`LICENSE`](LICENSE) for more details.