Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

☕ Java OOP Concepts Visualizer

GitHub stars GitHub forks GitHub issues GitHub license

📋 Overview

The Java OOP Concepts Visualizer is a high-fidelity, interactive educational tool designed to demystify the fundamental pillars of Object-Oriented Programming. Specifically tailored for Sri Lankan developers, it explains the 6 core concepts of Java OOP using real-world analogies, visual diagrams, and production-ready code examples in Sinhala.

✨ Highlights

  • 🇱🇰 Native Support - Comprehensive explanations in Sinhala for better conceptual clarity.
  • 🏗️ Class & Object - Deep dive into blueprints and real-world object instantiation.
  • 🔐 Encapsulation - Visualizing data hiding with private fields and public getters/setters.
  • 🧬 Inheritance - Understanding code reuse through parent-child relationships and the extends keyword.
  • 🎭 Polymorphism - Dynamic behavior visualization using method overriding and @Override.
  • 🎯 Abstraction - Simulating the reduction of complexity by hiding implementation details.
  • 🔌 Interface - Explaining the "contract" system and multiple implementation flexibility.
  • 🎨 Premium UI/UX - Sleek dark theme with glassmorphism panels and smooth reveal animations.

🚀 Quick Start

Prerequisites

  • 🌐 Modern Web Browser (Chrome, Firefox, Safari, or Edge)
  • 💾 No dependencies (Standalone HTML/CSS/JS)

📥 Installation

  1. Clone the repository:

    git clone https://github.com/yasith-1/Java-OOP.git
    cd Java-OOP
  2. Open the Guide: Simply open index.html in your preferred web browser.


🛠️ Technology Stack

Technology Purpose Version
HTML5 Structure HTML5
CSS3 Design & Animation Vanilla
JavaScript Interaction Logic ES6+
Java Code Examples 11+
Google Fonts Typography Noto Sans Sinhala / JetBrains Mono

🔄️ Concepts Visualized

🏗️ 1. Class & Object: Blueprint vs Reality

Shows how a Java Class acts as a blueprint (like a house plan) and how Objects are the actual instances (like the physical house) created from it.

class-object-flow

🔐 2. Encapsulation: Data Shielding

Demonstrates how variables are kept private and accessed only through public methods to ensure data security and integrity (e.g., Bank Account Balance).

encapsulation-flow

🧬 3. Inheritance: Reusability

Explains how child classes inherit properties from parent classes using the extends keyword, avoiding duplicate code.

inheritance-flow

🎭 4. Polymorphism: Multi-forms

Visualizes how one single action (like makeSound()) can take many forms depending on the object type (Dog vs Cat).

polymorphism-flow

🎯 5. Abstraction: Complexity Hiding

Shows how the internal working of a system (like an engine) is hidden from the user, exposing only the necessary interface (like the start button).

abstraction-flow

🔌 6. Interface: The Contract

Explains how interfaces define a set of rules that classes must follow, enabling flexible and modular software design.

interface-flow

Interactive dashboard for deep-diving into Java OOP architectures


📁 Project Structure

📦 Java-OOP/
├── 📁 css/                # Styling and animations
│   └── 📜 style.css       # Design system and glassmorphism
├── 📁 js/                 # Interaction logic
│   └── 📜 main.js         # Tab switching and scroll scripts
├── 📁 screenshots/        # Visual documentation assets
│   └── 🖼️ dashboard.png   # Main visualizer interface
├── 📜 index.html          # Unified structure and guide content
└── 📜 README.md           # Documentation (You are here)

🎯 Core Functionalities

🏗️ Class & Object Module

  • 🔄 Blueprint concept explanation
  • 🏘️ Real-world analogies (Houses/Cars)
  • 📝 Object instantiation syntax
  • ⚙️ Attribute & Method breakdown
  • ✅ Multiple object creation examples

🔐 Encapsulation Module

  • 🛡️ Access Modifiers (Private/Public)
  • 💳 Bank Transaction logic flow
  • 🛡️ Data validation in Setters
  • 🔒 Shielding visualization
  • ⚙️ Getter implementation tips

🎭 Polymorphism & Inheritance

  • 👨‍👦 Parent-Child relationship
  • 🧬 extends vs implements
  • 🔊 Method Overriding (@Override)
  • 🚦 Dynamic Dispatch concept
  • 📊 Code reusability metrics

🎨 Premium UI/UX

  • 🌑 Sleek dark glass theme
  • 🟣 Concept-specific color coding
  • ✨ Scroll-reveal animations
  • 🎹 JetBrains Mono code styling
  • 📱 Fully responsive design

📞 Contact & Support

👨💻 Developer : Yashith Prabhashwara

Gmail LinkedIn GitHub


🙏 Acknowledgments

  • Built to clarify core programming principles for the Sri Lankan developer community.
  • Inspired by the need for visual learning in Object-Oriented Programming.
  • Focused on conceptual clarity with native Sinhala language support.

🌟 If you found this OOP guide helpful, please give it a star! 🌟

Made with ❤️ by Yasith Prabaswara

About

The Java OOP Concepts Visualizer is a high-fidelity, interactive educational tool designed to demystify the fundamental pillars of Object-Oriented Programming. Specifically tailored for Sri Lankan developers, it explains the 6 core concepts of Java OOP using real-world analogies, visual diagrams.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages