{"id":27099468,"url":"https://github.com/sakhileln/neo-inheritance","last_synced_at":"2025-04-06T12:35:20.672Z","repository":{"id":282461370,"uuid":"948658310","full_name":"sakhileln/neo-inheritance","owner":"sakhileln","description":"Mastering inheritance \u0026 packages.","archived":false,"fork":false,"pushed_at":"2025-03-14T18:57:02.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T19:37:31.702Z","etag":null,"topics":["classes","inheritance","interfaces","java","object-oriented-programming","oop","package","packages","uml","uml-diagram"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sakhileln.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-14T18:11:06.000Z","updated_at":"2025-03-14T19:16:55.000Z","dependencies_parsed_at":"2025-03-14T19:37:33.416Z","dependency_job_id":"05ee951f-4402-4bf3-96b0-cbaf1b118883","html_url":"https://github.com/sakhileln/neo-inheritance","commit_stats":null,"previous_names":["sakhileln/neo-inheritance"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakhileln%2Fneo-inheritance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakhileln%2Fneo-inheritance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakhileln%2Fneo-inheritance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakhileln%2Fneo-inheritance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sakhileln","download_url":"https://codeload.github.com/sakhileln/neo-inheritance/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247485270,"owners_count":20946397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classes","inheritance","interfaces","java","object-oriented-programming","oop","package","packages","uml","uml-diagram"],"created_at":"2025-04-06T12:35:20.097Z","updated_at":"2025-04-06T12:35:20.663Z","avatar_url":"https://github.com/sakhileln.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# neo inheritance 🚀  \nMastering Inheritance \u0026 Packages\n\n## 📌 Project Overview\n**neo-inheritance** is a hands-on Java project designed to help you understand and practice **inheritance, packages, and constructors**. By working through this project, you'll gain practical experience in object-oriented programming (OOP) while building a structured, real-world application.\n\n## 🎯 Learning Objectives\n- Understand **Java packages** and how to structure a project.\n- Implement **inheritance** to create a class hierarchy.\n- Use **constructors** to initialize objects efficiently.\n- Explore **method overriding** and **access modifiers** in OOP.\n\n\n## 📂 Project Structure\n```\nneo-inheritance/\n│── src/\n│   ├── com/company/employees/\n│   │   ├── Employee.java\n│   │   ├── Manager.java\n│   │   ├── Developer.java\n│   ├── com/company/\n│   │   ├── Main.java\n│── UML_Diagram.md\n│── README.md\n```\n\n## 🔥 Features\n✅ Organized **package structure** to mimic real-world applications.  \n✅ **Base class (`Employee`)** with subclasses (`Manager`, `Developer`).  \n✅ **Constructors and method overriding** for deeper OOP practice.  \n✅ Simple **main method** to create and display employee objects.  \n\n## ✅ TODOs - Implement the Project Step by Step\n1. **Clone the Project:** Set it up in an IDE (e.g., IntelliJ) or manually.\n2. **Create Packages:** \n   - `company.employees` for employee-related classes.\n   - `company` for the main class.\n3. **Implement the `Employee` Class:**\n   - Define `name`, `id`, and `salary` variables.\n   - Add a constructor to initialize these fields.\n   - Create a `displayInfo` method to print employee details.\n4. **Extend `Employee` with `Manager` and `Developer`:**\n   - **Manager:** Add a `bonus` field and override `displayInfo`.\n   - **Developer:** Add a `programmingLanguage` field and override `displayInfo`.\n5. **Create and Run `Main.java`:**\n   - Instantiate `Manager` and `Developer` objects.\n   - Call `displayInfo()` on both objects.\n\n## 🛠️ UML Diagram\n\n![Employee Hierarchy UML Diagram](https://www.plantuml.com/plantuml/png/bP0_IWOn4CNxd6BARt7t0cAnXHQ2LfvWremXC9c4_5bOrBiROqmXY_1raybxxyURDMMCkJXMhumfmOCBx0yYU5S02xpaQCM0eAFsjfB1wZPgNpOcICWOZxgv6TxBZsl-LizTDpM5jYam7e_ovY_JBUo-PdsgZdv6GKEnatlyvgMavktVP-5NGEvf9_PXO7h14Bs9w5oTdr1CgQIMDUIdsEx-5piEUlUnBByb_cm7HQqakZZ-0W00)\n\n## 🎯 Challenges \u0026 Practice\n- Add a new subclass (e.g., `Intern` or `Director`).\n- Implement an **abstract method** in `Employee` and override it in subclasses.\n- Create an **interface (e.g., BonusEligible)** and implement it in `Manager`.\n\n## 🛠️ UML Diagram for Challenges\n\n![Challenges Hierarchy UML Diagram](https://www.plantuml.com/plantuml/png/dLBDIWCn4BxdAUROOhSF8295xA6W9vzWkZiDWSbaoS_2OdrtcyGeYuh5MtRc-vblPdSXee_9iZ8IoP-m9tXmaiAUZJP79dXL03VG8_U9CL9fhjQtCBXqQQitfNh6461lHtOpLK87Bz4RqI1egNmRYM26ygnC2CZevwBUkAlAscJqvWEtBeZ1X95nFiZ9PVF9cU7B-Xa5DVdgtEIFUT3CRUsVnFyskIxy8qt4RYI_J3zwfprQUta_eUY4ch9WW_ysKorU4VoGRoPBpoHc8XzChAkja7_xV5xrxjnrRPFBQalphLwjLRlETdk-N_vRQaSo9Cll)\n\n## Contribution Rules\n- Contributors **cannot** push directly to `main`.\n- All Pull Requests must be reviewed before merging.\n- **Main Branch Protection:** Direct pushes to `main` are blocked. Contributors must use feature branches and create pull requests for review.\n- **Branch Protection Rules:**\n  - Pull requests are **required** before merging.\n\n### 1️⃣ Clone the Repository\n```bash\ngit clone https://github.com/sakhileln/neo-inheritance.git\ncd neo-inheritance\n```\n### 2️⃣ Compile \u0026  Run on the Terminal\n```bash\njavac -d . src/company/*.java src/company/employees/*.java\njava company.Main\n```\n\n🚀 **Level up your Java OOP skills with neo inheritance!** Happy coding! 😃\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakhileln%2Fneo-inheritance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsakhileln%2Fneo-inheritance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakhileln%2Fneo-inheritance/lists"}