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.
- Host: GitHub
- URL: https://github.com/sergebyte/oop-java-projects
- Owner: sergedbs
- License: mit
- Created: 2024-11-11T10:30:28.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-17T05:21:10.000Z (about 1 year ago)
- Last Synced: 2025-03-09T15:46:39.300Z (about 1 year ago)
- Topics: java, oop
- Language: Java
- Homepage:
- Size: 92.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.