This GitHub project is dedicated to implementing and demonstrating fundamental Object-Oriented Programming (OOP) concepts using Java. The project covers a wide range of OOP principles such as student management, encapsulation, inheritance, polymorphism, and more.
This repository provides a diverse set of examples, each highlighting key OOP principles:
- Student Class: Capture and manage student names and surnames with proper encapsulation.
- Department and Course Classes: Illustrate relationships between entities like
Department
,Course
, andStudent
, with a focus on inheritance and composition.
- House Class: Implement and manage object references, allowing for updates to house addresses while ensuring data integrity.
- Time Class: Apply encapsulation to manage time consistently, with getter and setter methods controlling access to time data.
- JavaBean Class: Follow the JavaBean standard to create reusable components, showcasing best practices with encapsulation, constructors, and accessor methods.
- Inheritance and Method Overriding: Explore a vehicle hierarchy where inheritance defines common characteristics, and method overriding provides specialized behavior in subclasses.
- Polymorphism and Late Binding: Utilize abstract classes and method overriding to create an instrument hierarchy, demonstrating the power of polymorphism and late binding.
- Interface Implementation: Implement interfaces to enforce method contracts across different instrument classes, further illustrating polymorphism.
- Language: Java
- IDE: Any Java-supported Integrated Development Environment (IDE) such as IntelliJ IDEA.
To run the examples in this repository, follow these steps:
- Clone the Repository:
git clone https://github.com/suleymangzy/Object-Oriented-Programming.git