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/deirror/simplesql145

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

oop sql terminal

Last synced: 18 May 2026

https://github.com/kimono-k/quizzler_flutter

A simple Flutter quiz app that tests your knowledge with a series of true/false questions.

dart flutter oop

Last synced: 05 Apr 2025

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

Football Players Info Registration using Java

football java oop

Last synced: 21 Jul 2025

https://github.com/aust21/rocket-simulator

Simple rocket simulator with payload launch capabilities

client-server oop threads

Last synced: 30 Aug 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/panagiotiskots/oop_java_assignment

Programming Language IV (Object-Oriented Programming in JAVA) (Theory) Assignment

assignment class inheritance java oop school-project vehicle

Last synced: 21 Mar 2025

https://github.com/paez-dev/proyecto_integrado_v_aval_tracker

📈 Sistema automatizado de recolección, almacenamiento y trazabilidad de datos financieros históricos del Grupo Aval usando Python, yfinance y GitHub Actions.

automation csv data-collection data-logging financial-data github-actions grupo-aval oop python3 stock-market time-series yfinance

Last synced: 20 May 2026

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/dantehemerson/mategame

:1234: Juego de preguntas matemáticas para niños :sparkles:

cpp development game game-development gamedev oop poo

Last synced: 21 Mar 2025

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/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/nermeenkamal/university_system

Educational system with C++, OOP, Design patterns(singleton).

cpp design-patterns oop

Last synced: 27 Jul 2025

https://github.com/mohamed-taha-essa/django-blog

simple Django blog using function and class based view

bootstrap5 cbv class django git github oop python

Last synced: 10 Apr 2026

https://github.com/bkocis/advance-your-python

Yet another repo with python coding concepts, and other python handy-dandys

oop python

Last synced: 19 May 2026

https://github.com/gr1d99/user_class

a minimal implementation of user management using python OOP

oop python python3 user-management

Last synced: 13 Apr 2025

https://github.com/bilalm04/rescue-mission

A Java-based project for a programming game centered around island exploration.

java junit maven oop

Last synced: 19 May 2026

https://github.com/linggarm/indonesiancollege

This is an Android application created for the final project submission of Android for Beginners course on Dicoding in 2019. Its purpose is to display a list of the top universities and colleges in Indonesia, along with information about each institution.

android android-studio dicoding indonesian-college java oop recyclerview recycleview splashscreen

Last synced: 19 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/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/prak-pemrograman-berorientasi-objek

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

java oop oriented-object-programming programming

Last synced: 21 Mar 2025

https://github.com/eduardob-programador/college-studies

I learned java in my 1st semester in college, so I thought it would be a good idea to make a repository about how I learned to code in java, I will slowly re-do all the questions intending to practice the language more

java oop

Last synced: 22 Jul 2025

https://github.com/htnicayh/dps

About design patterns

class design-patterns oop

Last synced: 06 Apr 2025

https://github.com/david2261/python_lessons

Rules and examples of various built-in functions in Python

functional-programming generators oop pep python

Last synced: 08 Apr 2026

https://github.com/aissam-en/mini-project-java-poo

Gestion des chambres d'hôtel.

java oop oop-java poo

Last synced: 19 May 2026

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/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/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/gemmus/pythoneducation

Introduction to python via exercises.

api oop pycharm python sql

Last synced: 19 May 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/awps/plugin-boilerplate

A plugin framework for WordPress

boilerplate framework oop plugin wordpress

Last synced: 19 May 2026

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/tawfik-s/bancking-record-system-console-app

bancking record system console app first university year

cpp oop oop-principles

Last synced: 14 Mar 2025

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/yamzil/cpp-modules

C++ - Modules to discover the world of C++ and OOP

cpp98 oop

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/wolfchamane/amjs-data-types

Data types for your OOP javascript project

cjs data javascript modules nodejs oop types

Last synced: 20 May 2026

https://github.com/adwaiy2912/oop-lab

Repository contains various Java programs written for my Object-Oriented Programming (OOP) Lab

java java-8 object-oriented-programming oop oops-in-java

Last synced: 31 Oct 2025

https://github.com/adham-elaraby/catan-javafx

catan game implementation in java

catan-simulations java javafx oop

Last synced: 20 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/patrickap/snake-game

Simple snake game using HTML Canvas. 🐍

2d canvas game html5 oop pure snake typescript

Last synced: 01 Nov 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/vetal7777/react-sketch-pad

A minimalist drawing tool using React and TypeScript, ReactSketchPad allows users to draw and erase lines on a canvas. It combines the simplicity of sketching with the power of modern web technologies.

canvas oop react typescript

Last synced: 20 May 2026

https://github.com/konstantinkalinichenko/vehicle-cost-calculator

This project allows you to determine the cost of a car over time based on the decrease in value due to natural wear and tear, the cost of gas or energy in the case of an electric car, the cost of insurance and service cost

oop python3

Last synced: 03 Jul 2025

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/checkingaccount

You created a Savings Account in the examples. In this project, create a Checking Account. A Checking Account has a current balance and a fee charged for each transaction. The transactions are making a deposit and making a withdrawal. In this project, use a loop to let the user select different transactions. Assume all data entered will be valid – positive numbers, and not greater than the current balance in the account. Create a project named Ch6Checking. Create a class named CheckingAccount. In the methods for withdrawal and deposit, after adjusting the balance by the amount of change, subtract the fee. In the driver class, create a CheckingAccount object named checking, and ask the user for the beginning balance and the fee for this checking account. In a loop, ask the user to select options to deposit, withdraw, or quit. Use a Switch structure to process the choice. Print the new balance after each transaction, with properly formatted numbers. Note the placement of dollar signs before the user input. That is printed by your code, the user does not type a dollar sign. Take a screenshot of the execution that matches the sample session. Run it again and do a withdrawal first, then a deposit, and take a screenshot of that session. Submission: the specified screenshots, and the root folder for the project Pay careful attention to the rubric for this assignment. Remember the standards that apply to every project. Note that you must use correct formatting in the code -- appropriate indentation is most important. You can use Shift-Alt-F to have NetBeans automatically format the code correctly. If the formatting is incorrect, it will be returned to you for changes with a grade of zero. Note: You need to submit the whole project for these assignments. In File Explorer, go to the location where you created the project. There will be a folder with the name of your project -- that is the root folder of the project. If you submit the root folder of the project, the instructor can run it on a different machine to grade it. If you don't submit the proper folder, it won't run on another machine, and the assignment will be marked with a zero.

checking-account object-oriented-programming oop

Last synced: 17 Mar 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/minpeter/dice_game

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

dice dice-game game go golang oop python

Last synced: 20 May 2026

https://github.com/delonnewman/multiple-dispatch

An implementation of multiple dispatch for Ruby. Also known as generic-functions or multi-methods.

data-oriented-programming functional-programming multiple-dispatch oop polymorphism ruby ruby-gem

Last synced: 29 Mar 2025

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/valcler-manoel/java-studies

Programming Techniques Discipline Repository (UFC)

java oop ufc

Last synced: 21 May 2026

https://github.com/shravzzv/odin-library-project

A small library app using the Object constructors Javascript design pattern.

javascript library oop simple theodinproject

Last synced: 28 Mar 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/cserajdeep/oop-with-python-opencv

Object-Oriented Programming with Python and OpenCV randomly generates day/night-time city landscapes with buildings and trees as objects.

cpp google-colab oop opencv python

Last synced: 19 Apr 2026

https://github.com/ryanlarge13/kanban

Playing around with classes and vanilla js

oop vanilla-javascript

Last synced: 05 Apr 2025

https://github.com/josegomezr/perl-design-patterns

Design Patterns I find around internet and try to implement in Perl, with some extra documentation for future me.

design-patterns oop oop-in-perl perl

Last synced: 21 May 2026

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/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/2802

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

course csharp oop

Last synced: 30 Mar 2025

https://github.com/ugursabirer/live-coding-studies

Java live coding interview preparation with 6 problems (beginner to advanced). Covers Stream API, OOP, Collections, Thread Safety, and Design Patterns. Prepared for technical interviews.

coding-interview collections concurrency design-patterns interview-preparation interview-questions java java8 live-coding oop problem-solving solid-principles stream-api technical-interview thread-safety

Last synced: 30 Jun 2026

https://github.com/abdullah-niaz/oop-python

Fundamental Concepts of Object-Oriented-Programming (OOP)

abstraction encapsulation inheritance oop oop-principles oops-in-python polymorphism

Last synced: 28 Jun 2025

https://github.com/pranjalco/pong-game-intermediate

This is a Pong game implemented using Python's `turtle` and `time` modules with an object-oriented programming (OOP) approach. The game involves two players, left and right, competing to reach the winning score.

game-development game-programming object-oriented-programming oop pong-game programming python time turtle turtle-graphics

Last synced: 30 Mar 2025

https://github.com/mluizaa00/ufscar-poo

Disciplina POO - 2024/2

oop ufscar

Last synced: 14 May 2025

https://github.com/kkulma/python-oop-course

My notes from Udemy's Python OOP course

online-learning oop python

Last synced: 14 Mar 2025

https://github.com/thiagohrcosta/combat-game

This Python project is part of the second class in the Rocketseat Python specialization. It serves as a simple RPG (Role-Playing Game) Battle Simulator, focusing on reinforcing and applying essential concepts of OOP.

oop oops-in-python phyton3

Last synced: 23 Jul 2025

https://github.com/ferstormblessed/oop-cpp

Exercise to learn OOP with C++

cpp oop

Last synced: 21 May 2026

https://github.com/kamenskiyyyy/game-snake

Игра змейка на JS

game javascript oop

Last synced: 04 Nov 2025

https://github.com/diloabininyeri/php-mock

Creating Mock Objects with PHP Library

mock mock-obj mock-object-pattern mocker mocking object oop php php8

Last synced: 04 Nov 2025

https://github.com/pedro-estevao/college-portal

A Student & Teacher Portal Clone project developed for the Programming Techniques 1 course (3rd semester, Computer Science - Centro Universitário Barão de Mauá) using PHP (OOP) and MySQL. A foundational academic project available for those studying OOP in PHP.

academic-project baraodemaua computer-science database mysql mysql-database oop oop-php php programming programming-techniques

Last synced: 25 Feb 2025

Object-oriented programming (OOP) Awesome Lists