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.
- 🇱🇰 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
extendskeyword. - 🎭 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.
- 🌐 Modern Web Browser (Chrome, Firefox, Safari, or Edge)
- 💾 No dependencies (Standalone HTML/CSS/JS)
-
Clone the repository:
git clone https://github.com/yasith-1/Java-OOP.git cd Java-OOP -
Open the Guide: Simply open
index.htmlin your preferred web browser.
| Technology | Purpose | Version |
|---|---|---|
| Structure | HTML5 | |
| Design & Animation | Vanilla | |
| Interaction Logic | ES6+ | |
| Code Examples | 11+ | |
| Typography | Noto Sans Sinhala / JetBrains Mono |
🏗️ 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.
🔐 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).
🧬 3. Inheritance: Reusability
Explains how child classes inherit properties from parent classes using the extends keyword, avoiding duplicate code.
🎭 4. Polymorphism: Multi-forms
Visualizes how one single action (like makeSound()) can take many forms depending on the object type (Dog vs Cat).
🎯 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).
🔌 6. Interface: The Contract
Explains how interfaces define a set of rules that classes must follow, enabling flexible and modular software design.
Interactive dashboard for deep-diving into Java OOP architectures
📦 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)
|
|
|
|
- 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.
