An open API service indexing awesome lists of open source software.

Object-oriented programming (OOP)

Object-oriented programming (OOP) is a programming paradigm based on the concept of objects fundamental to many programming languages, including Java and C++. OOP can be devided in two sub types: class-based (or “classical”) and prototype-based OOP (found in JavaScript, for example).

Object-oriented programming has several advantages over procedural programming:

https://github.com/mhmdrazn/es234211-snake-and-ladder

Project for Final Assignment ES234211 - Basic Programming

java oop

Last synced: 02 Aug 2025

https://github.com/prosenjitjoy/cpp-projects

Collection of multi-file C++ projects build using OOP approach.

cpp-project oop

Last synced: 29 Aug 2025

https://github.com/iamsudhir-kumar/js-practice-from_basic_to_advance

This repository is for practicing and mastering JavScript from basic to advance

api html javascript leetcode node-js oop

Last synced: 18 May 2026

https://github.com/hantdev/oop

Bài tập lớn OOP - HUST - 20222

java javafx oop

Last synced: 30 Sep 2025

https://github.com/gleor/cpp-transport-catalogue

Финальный проект: транспортный справочник

cpp graph json oop protobuf svg

Last synced: 18 May 2026

https://github.com/high-voltaged/2d_tetris

Basic 2D tetris game, written in C++ using OpenGL and GLUT technologies.

cpp oop opengl tetris

Last synced: 22 Apr 2026

https://github.com/parzivaleugene/misis2024s-23-04-michkov-e-v

Object Oriented Programming

cpp misis oop

Last synced: 13 Mar 2025

https://github.com/mumtaz4118/stack-implementation-in-c-

Using Stack (OOP Implementation for my TAship Class Tutorial)

oop

Last synced: 02 Feb 2026

https://github.com/jen2004/class-roster

A C++ program designed to manipulate student data.

cpp oop vscode

Last synced: 04 Mar 2025

https://github.com/bencz/go-plus

A transpiler that adds classes and exceptions to Go, converting Go-Extended syntax to standard Go code. Supports multi-file projects with dependency resolution

compiler exceptions go golang oop transpiler

Last synced: 18 May 2026

https://github.com/sebastian-nunez/data-structures-java

Some notes regarding Data Structures & Algorithms in Java.

algorithms data-structures java oop

Last synced: 18 May 2026

https://github.com/deirror/simplesql145

[Console] A nice console application for SQL in C++

oop sql terminal

Last synced: 18 May 2026

https://github.com/swanie21/idea-box-two

IdeaBox stores ideas in localStorage

css3 html5 localstorage oop prototypes

Last synced: 18 May 2026

https://github.com/mirror45/big-trip

🗺️ «Big Trip» — современный сервис для путешественников. Сервис помогает детально спланировать маршрут поездки, рассчитать стоимость проезда и получить информацию о достопримечательностях.

chartjs flatpickr js momentjs mvp oop rest-api webpack

Last synced: 18 May 2026

https://github.com/ruben165/player-info-registration

Football Players Info Registration using Java

football java oop

Last synced: 21 Jul 2025

https://github.com/juhenfw/cpp-task

Repository of common CPP task

cpp oop

Last synced: 05 Apr 2025

https://github.com/asobrados03/practica_final_centrodeconvenciones

Este es el proyecto final completo de la asignatura Programación Orientada a Objetos. Lo realizamos en el año 2022.

composite-pattern decorator-pattern design-patterns java oop oop-principles singleton-pattern strategy-pattern

Last synced: 18 May 2026

https://github.com/khasanrashidov/typescript-oop

TypeScript OOP practice (from LinkedIn course)

oop typescript

Last synced: 15 Jun 2025

https://github.com/eduardo06sp/mastermind

A terminal game of Mastermind in which the user can choose to play as the codemaster or codebreaker. The computer is guaranteed to guess correctly within 5 tries.

mastermind oop ruby swaszek-algorithm

Last synced: 29 Mar 2025

https://github.com/hasin023/swe_4301_object_oriented_concepts

Object Oriented Concepts II

csharp java oop

Last synced: 18 May 2026

https://github.com/higgsboson909/small-library-project

project by THE ODIN PROJECT

oop

Last synced: 19 Apr 2026

https://github.com/er-contreras/oop_animal

It's a veterinary base on a UML using relational classes

oop ruby sql

Last synced: 10 Jul 2025

https://github.com/udaygiri/password-generator

A password generator is a useful tool that generates strong and random passwords for users. This project aims to create a password generator application using Python, allowing users to specify the length and complexity of the password.

oop password password-generator python

Last synced: 21 Mar 2025

https://github.com/aliakbar-omidi/bank

This is a project to manage the banking system

decorator logging mvc mysql oop python sqlalchemy

Last synced: 26 Apr 2026

https://github.com/rid17pawar/friendscircle

Friends Circle is a console based application developed in cpp using Graph Data Structure.

cpp data graph graph-algorithms oop

Last synced: 08 Jun 2026

https://github.com/edu-fedorae/covid-19-report-mvc-crud-application

Simple PHP application that does basic CRUD operations for covid-19 cases.

covid-19 crud javascript mvc mysql oop pdo php uikit

Last synced: 09 May 2026

https://github.com/mikayelgr/librarymanagementsystem

Java-based Library Management System developed as the final project for the Object-Oriented Programming (CS120) course at the American University of Armenia.

deserialization final-project gson java json library-management-system object-oriented-programming oop serialization

Last synced: 21 Mar 2025

https://github.com/nearvr22/object-oriented-programming

Projects from the Object-Oriented Programming (OOP) course (5th semester, Computer Science - Centro Universitário Barão de Mauá) using Java. Focus on classes, inheritance, polymorphism, encapsulation, abstraction, and design patterns.

attribute-lookup attributes class cpp decorators inheritance local lookup magic object-oriented ood oop oops static

Last synced: 05 Jun 2026

https://github.com/developermithu/online-food-ordering-ecommerce-project

Online food ordering ecommerce project with delivery system

ajax mysql oop php7

Last synced: 03 May 2026

https://github.com/dipto1971/railway-management

Railway Management System implemented with Java (OOP project)

java-project object-oriented-programming oop projects railway-management-system

Last synced: 01 Nov 2025

https://github.com/emicy963/bank-manager

It's a simple Bank Manager System Python Project for practique OOP, MVC, CRUD, SOLID Principles and maybe DataBase.

bank-management-system-project database mvc-architecture oop oops-in-python open-source python solid venv-python

Last synced: 19 May 2026

https://github.com/remycastella/ruby-tictactoe

Simple command line tic tac toe game using Ruby and OOP

oop ruby

Last synced: 22 Jul 2025

https://github.com/ikanurfitriani/pemrograman-berorientasi-objek

This repository contains code archives from the Object Oriented Programming course in semester 4.

java oop oriented-object-programming programming

Last synced: 21 Mar 2025

https://github.com/madi-s/python-oop-explained

This repo covers almost everything about python object-oriented-programming. From methods to encapsulation, from magic methods to properties. Have fun exploring it!

basics object-oriented-programming oop python

Last synced: 04 Apr 2025

https://github.com/operationdarkside/cppwebtoolkit

Object and Widget based Framework for Webdevelopment

c-plus-plus oop projectdnc webdevelopment

Last synced: 17 Jun 2025

https://github.com/htnicayh/dps

About design patterns

class design-patterns oop

Last synced: 06 Apr 2025

https://github.com/almoghindi/boxes-project

Project based on data structures to offer the most appropriate box for a customer using avl tree, inside an avl tree for maximum complexity and memory utilization.

avl-tree binary-search-tree complexity csharp data-structures dotnet oop

Last synced: 06 Apr 2025

https://github.com/hasanyahya101/oop_assignments

Solutions to Object Oriented Programming assignment questions from Spring 2023 Semester in Fast Nuces Lhr. The actual questions can be found in pdf files. Note that, this is for the theory (subject), not the Lab subject.

fast lhr nuces oop oop-in-cpp oop-principles

Last synced: 29 Mar 2025

https://github.com/mikeshiyan/iterate

Iterates iterators by a scenario.

composer iterator match oop php regex scenario

Last synced: 19 May 2026

https://github.com/imbezerra/chess-system

A chess game system, developed in Java using Object-Oriented Programming (OOP), designed to be played directly in the console. It employs best practices in development and OOP.

java oop

Last synced: 22 Jul 2025

https://github.com/sarahabuirmeileh/reantalapplication

This project is a renting application where users can rent different types of buildings such as apartments, houses, and shops. Applying OOP princilps with Java.

abstraction encapsulation inheritance oop oop-concepts oop-paradigm oop-principe oop-principles oops-in-java polymorphism rentalsystem

Last synced: 22 Jul 2025

https://github.com/sw-community/oop_homework_and_anu

sduwh面向对象程序设计课程作业参考

cpp oop

Last synced: 29 Mar 2025

https://github.com/nerooc/oop-2-pl

Laboratories from 'Object Oriented Programming 2' at AGH UST (in Polish)

java oop university-course

Last synced: 22 Mar 2025

https://github.com/ambadran/humanoid-hand-controller

MicroPython interfacing muscle sensor through 16-bit ADC IC & OpAmp to give intricate control over individual Humanoid Robot Fingers.

3d-printing ad7705 algorithms emg micropython muscle-sensor oop

Last synced: 17 Feb 2026

https://github.com/knetic0/oop-konuanlatimi

Bilgisayar Muhendisligi 2.Sinif Guz Donemi Boyunca OOP Dersinde Ogrendiklerimi Yukluyorum.

object-oriented object-oriented-programming oop python python-oop python3

Last synced: 19 May 2026

https://github.com/mikeheul/poo_livre

Pure OOP PHP Project to manage Author/ Book (trainer project for my students)

css html oop php

Last synced: 19 May 2026

https://github.com/jhwa426/java

Object Oriented Software Development, Object Oriented Design principles and Patterns

design-patterns java oop

Last synced: 06 Apr 2025

https://github.com/chaseofthejungle/oop-overview-guide

A glance into core principles that unite object-oriented programming (OOP) languages.

object-oriented-programming oop oop-principles

Last synced: 01 Jan 2026

https://github.com/mohamedtorkey20/php_labs

This repository is dedicated to hosting the practical exercises and labs for our PHP course. Whether you're new to PHP or looking to enhance your skills, these hands-on labs will guide you through various concepts and functionalities of PHP programming.

compo json mysql oop php

Last synced: 06 May 2026

https://github.com/mohammed-3tef/document_similarity

A C++ program to measure the similarity between two text documents using efficient algorithms like cosine similarity, with support for preprocessing and customization.

assignment clean-code cpp cs213 document-similarity oop

Last synced: 22 Jul 2025

https://github.com/emanuelefavero/design-patterns

This is a cheat sheet repo for software design patterns

algorithms design-patterns javascript object-oriented-programming oop

Last synced: 29 Mar 2025

https://github.com/amir-hshahi/advanced-programming-solutions-14032

This repository contains advanced programming solutions for the course 14032. The solutions are implemented in Java, and cover a range of programming problems and algorithms.

advanced-programming educational oop

Last synced: 18 Jun 2025

https://github.com/lucapolese/qtdrive

Progetto di Programmazione ad Oggetti UniPD : software che simula l'accesso multiplo a servizi di Cloud Storage

cloudstorage cplusplus-11 oop qt unipd-mathematic-department

Last synced: 02 Jan 2026

https://github.com/omar-26/coursecode

CourseCode is a Online Courses Management User Friendly GUI Desktop app written in java

desktop-application gui java javafx javafx-application javafx-desktop-apps mvc-architecture mvc-pattern oop

Last synced: 02 Jan 2026

https://github.com/bagdalf/java-gestao-escolar

Este projeto Java em console é um Sistema de Gestão Acadêmica baseado em Java projetado para gerenciar professores, alunos, disciplinas e turmas.

java java-8 oop oops-in-java

Last synced: 28 Mar 2025

https://github.com/tawfik-s/old-course-datasturcturewith-cpp

study dataStructure with cpp ==>L classes for structures

academic-task cpp data-structures oop

Last synced: 14 Mar 2025

https://github.com/gasserkhaled330/dotnet-questions

A curated repository of essential .NET and C# questions and detailed answers designed for rapid learning and interview readiness.

asp asp-net csharp dotnet entity-framework linq oop

Last synced: 14 May 2026

https://github.com/hifza-khalid/pythonjourney

A comprehensive repository for learning Python, covering basics, OOP, file handling, and advanced topics. 🚀🐍

advanced-topics file-handling machine-learning oop programming-basics python

Last synced: 22 Mar 2025

https://github.com/mahammad-mostafa/task-manager-dashboard

A management portal with task reminders and notifications for employees

codeigniter3 css-flexbox css-grid css3 fetch-api html5 javascript mvc-architecture mysql oop php single-page-app

Last synced: 17 Apr 2026

https://github.com/pheroom/chess-react

Web application for playing chess

chess mobx oop typescript

Last synced: 29 Mar 2025

https://github.com/memosainz/christmastree-java

Wanna create a Christmas tree in your IDE terminal? Grab this dude!

christmas god holy-spirit java jesus oop santa-claus terminal tree

Last synced: 20 May 2026

https://github.com/danielbrodi/arkanoid

A full implementation of the classic Arkanoid block breaker game using Java. Includes a menu and an animaiton of a timer at the beginning of each level, records and stores highest store in a local file and it's possible to personalize the block design of each level. In order to add or edit levels in the game, you don't have to learn to code.

animation animations class game game-2d game-development gui inheritance input-output interface java leaderboard memory-management menu-navigation object-oriented-programming objects oop project

Last synced: 13 May 2025

https://github.com/antonioalmeida/feup-lpoo

My solutions for LPOO's midterm exams.

feup java junit oop

Last synced: 20 May 2026

https://github.com/konstantinkalinichenko/todo--fullstack

Full-stack version of to-do list application

json oop oop-principles python3

Last synced: 22 Apr 2026

https://github.com/foziljonovs/TwoMonthCSharpPratices

2 - month C# pratices, Interviews

c-sharp interview-practice ood oop

Last synced: 01 Nov 2025

https://github.com/bell-kevin/circle

Create a project that has a Circle class. The Circle class should contain: -One instance variable – radius -A method named setRadius that assigns the passed-in radius value to the radius instance variable -A method named initialize that prompts the user for a radius value and then assigns the entered value to the radius instance variable. (Note that the method will prompt the user, not the driver class.) -A method named printCircleData that uses the circle’s radius to calculate the circle’s diameter, circumference, and area and print the results. Use the Java API constant Math.PI for the value of pi. Use local variables to store the diameter, circumference, and area. Print the circle’s radius, diameter, circumference, and area. Create a Driver class (the main class) that tests all of the variables and methods of the Circle class. In that driver class, create a circle object and name it “spot”. Initialize it, print the circle data, then set the radius to a different specific value, and print the circle data again. In the first example, the driver class contained the interaction with the user, asking for the necessary values, then passed that data to the methods in the class. In this example, the method initialize in the class contains the interaction with the user, asking for the radius. How do you decide where the user interaction goes? It’s often best to put those interactions in the class, because it makes the driver class shorter and easier to understand, and it adds documentation to the class. But you can put those interactions in either location, as we demonstrated with these examples. As in the first example, create a project – name it “Example2Circle”, and the IDE will provide you with the starting structure for the main class, the driver class. If you know what code you need in the driver class, you can go ahead and type it now, and you’ll get a lot of errors because none of the class references exist yet. It’s usually better to create the class and enter its code first, then come back to the driver class to write the code that tests the class. In the File menu, click on New, then File, and create a new Java class named “Circle”. Write the necessary code to create the instance variable radius, and the methods to initialize, set the radius, and print the results, as described. Here is the Driver class code. Note that every method in the Circle class is tested. The initialize method will ask the user for the radius and set it, then the driver prints out the results for that circle. Next, the driver executes the method to change the radius to a different value, and prints out those results.

calculator circle java object-oriented-programming oop

Last synced: 17 Mar 2025

https://github.com/bell-kevin/ch6savingsaccount

This project is very similar in design to the Mouse2 class and Mouse2Driver example in the book (Introduction to Programming with Java: A Problem Solving Approach, Second Edition by John Dean and Raymond Dean). Remember the project in Ch 4 about calculating the value of an account as it grows, which was enhanced in Ch 5 to look better? We’ll do the same work here but using OOP methodology. In this project, the user will specify the starting balance for a savings account, the interest rate, and the number of cycles it will grow at that interest rate. The program will display how much the account is worth at the end of that growth. We need a class that provides the blueprint for this savings account. What kind of variables do we need? The current balance is essential. Since this is a savings account that grows by adding earned interest, we need the value for the interest rate to be able to calculate that earned interest. You might want to know the customer who owns this account – but notice that the customer is the owner, not part of the account. Therefore, the customer info is not part of this account. So the data needed to provide the information about the account and its current state is balance and interest rate. What actions can this account take, what can it do? The first thing needed will be setting the balance and the interest rate, so we need “mutator” or “set” methods for those actions. We need to be able to see the balance, which is an “accessor” or “get” method. Is there any other method required for this class? We could stop here, and “grow” the account in the driver class or main method. But that doesn’t make the best use of OOP design and programming, so we’re going add a method to the class to “grow” the account. Next, consider if the instance variables are public or private – protected or open to the world? If you want methods outside of this class, other programmer’s methods, to be able to change the variable directly, then make it public. Most of the time, you’ll want to protect the variable, make sure it’s changed only by the methods provided in the class. For this account, we certainly want to protect the balance and interest rate, so they need to be private. Add a minus sign or hyphen in front of those two variables in the UML diagram to represent that access. Next consider the data type for each variable – double or integer? The balance is money, and interest rates require decimals, so the variables need to be doubles. The next step is to consider the methods. Are they private or public, available to the world outside of this class? All of them need to be public, because we are going to execute them from the driver class, which is outside of this class. What type of data will each method return? The “get” method will return the current value in the instance variable for balance, so it must return a double, matching data type of that variable. The two “set” methods don’t need to return anything, so their return type is “void”. The growAccount method is going to do work to change the account balance – does it need to return anything? No, its results will be in the balance variable, and we can get that number with the get method. So the growAccount method is also void. Do any of those methods need information passed into them when they are called? Usually the “set” methods need data to change the values in the variables. Here, we need to know the starting balance, the interest rate, and the number of cycles to grow the account, information provided by the user. For this project, we are going to use the driver class to ask the user for all that information. Therefore the driver class needs to pass the data to the methods in this class – the data will be provided to the method inside of its parentheses. The setBalance and setInterestRate methods need doubles passed to them. The growAccount method needs an integer for the number of cycles to grow the account. Begin by creating a new project and name it “Ch6SavingsAccount”. The IDE provides you the main class heading, which is the driver for this project. We’ll code that later; first, we need the class that will be the basis for that driver. In the File menu, click on “New File” – not new project, new FILE. Specify that the File Type is “Java Class”, and name it “Account”. This is the name of the class – the file name must match the name of the class. The IDE has again given you the starting point for this type of file. Now that the class exists, turn your attention to the driver or main code. What needs to happen here? The user needs to provide the starting balance, interest rate, and number of cycles to grow the account. As you have done in previous projects, you’ll ask the user to enter the necessary information. Take a moment to consider the interest rate value. The interest rate must be a double because it is a fraction of one whole unit. If someone says an interest rate is 7%, we don’t use “7” for the calculations – we use 7 / 100. Always make it clear to the user if they are supposed to enter percentage rates (7 for 7%) or the mathematical percentage (0.07 for 7%). It is usually best to have the user type it as if there was a percent symbol following it – 7 for 7% makes a lot more sense to a user than 0.07 for 7%. If the user types in a number like 7, you must do the math in the program to convert that to its decimal equivalent of 0.07 – divide the interest rate by 100. That code is in the class above. Notice that there are variables for balance, interest rate, and cycles in this driver class, which seem like a repetition of the instance variables in the Account class. The variables in the driver class are used to communicate with the user, to get the data to pass to the Account class to create a specific account. As discussed in the book, we could use different names for the variables, like “newBalance” or “inputInterestRate”, and sometimes that is helpful to make it very clear what data is being stored in each variable. But they really are the same data here, so we’ll use the same variable names in the driver class and the Account class. The prefix “this.” in the Account class helps to clarify that the data passed into the method is assigned to the private instance variable in the Account class.

account datc davis davistech dtc object-oriented-programming oop oop-principles oops-in-java savings savings-account tech technology

Last synced: 17 Mar 2025

https://github.com/mohamedelziat50/plantsvszombies-miu

JavaFX-based game developed as part of our Object-Oriented Programming Course Project by a team of 5 members.

java javafx object-oriented-programming oop plants-vs-zombies

Last synced: 01 Nov 2025

https://github.com/minpeter/dice_game

🎲 Python과 Go로 작성된 주사위 게임... 그런데 OOP를 곁들인

dice dice-game game go golang oop python

Last synced: 20 May 2026

https://github.com/ahimta/c-superior-encapsulation

How the C programming language can have better encapsulation than other languages

c encapsulation oop

Last synced: 20 May 2026

https://github.com/gustavosachetto/curso-poo-js

Aulas do curso de JavaScript com Programação Orientada a Objetos (POO).

classes-and-objects javascript oop

Last synced: 22 Mar 2025

https://github.com/rawanfarakhnah/auto_fix

A Django-based web platform that helps car owners manage their vehicles, find nearby workshops, diagnose car issues using AI, set maintenance reminders, and leave service reviews.

ai ajax auth authintication-protocol aws csrf-protection deployment django js mysql oop orm python restfull-api

Last synced: 25 Jan 2026

https://github.com/valcler-manoel/java-studies

Programming Techniques Discipline Repository (UFC)

java oop ufc

Last synced: 21 May 2026

https://github.com/amrtamertech/clsstack_library-cpp

A C++ template-based stack library (clsMyStack) built on top of a queue and doubly linked list, offering classic LIFO operations with extra flexibility.

cpp data-structures doubly-linked-list generic-programming inheritance oop stack templates

Last synced: 27 Jun 2025

https://github.com/subhranil002/cpp-programming

This repository is dedicated to my C++ practice for the WBJECA exam, focusing on core C++ and Object-Oriented Programming concepts ... ❤️

abstraction cplusplus cpp encapsulation inheritance oop oop-in-cpp polimorphism wbjeca

Last synced: 25 Feb 2025

https://github.com/m-awais-bs-ai-student/university-management-system

A C++ console application for managing academic records using Object-Oriented Programming. It demonstrates manual dynamic memory management (pointers) to handle Student, Teacher, Course, and Grade data. Features include creating, viewing, updating, and deleting records from the heap.

academic-records console-application cplusplus cpp crud-operations dynamic-memory-allocation education-system oop pointers student-management-system

Last synced: 27 May 2026

https://github.com/ryanlarge13/text-editor-js

Text editor with JavaScript (no libraries) using a gap buffer data structure for complete customization. (no mobile phone support 😕)

gap-buffers javascript oop

Last synced: 05 Apr 2025

https://github.com/ryanlarge13/kanban

Playing around with classes and vanilla js

oop vanilla-javascript

Last synced: 05 Apr 2025

https://github.com/yannoff/collections

A simple object implementation for PHP arrays

array collection collections list map oop php

Last synced: 21 May 2026

https://github.com/the-man-w-laughs/mpp-faker

The Random Test Data Object Generator project

c-sharp expression-tree oop reflection unit-testing

Last synced: 24 Apr 2026

https://github.com/ikajdan/game_of_life

A Python object-oriented implementation of Conway's Game of Life

oop pygame python

Last synced: 03 Mar 2025

https://github.com/br0wsa/oop-in-javascript

JavaScript Object Oriented Programming Tutorial Beginners - OOP in JavaScript

javascript js object-oriented-programming oop

Last synced: 22 Mar 2025

https://github.com/nafisahnubah/simple-board-game

A simple board game simulation implemented in Java

board-game java oop oops-in-java

Last synced: 17 Jun 2026

https://github.com/renebentes/2818

Curso 2818 - Aplicando Orientação a Objetos em Projetos Reais com C# 11 e .NET 7 - balta.io

csharp learning oop

Last synced: 30 Mar 2025

https://github.com/renebentes/2802

Curso 2802 - Fundamentos da Orientação a Objetos - balta.io

course csharp oop

Last synced: 30 Mar 2025

Object-oriented programming (OOP) Awesome Lists