Skip to content

Commit 21cb073

Browse files
authored
Merge branch 'main' into create-pr-action/update-collections-0
2 parents 68d1b0e + c4caacc commit 21cb073

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

topics/oop/index.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
aliases: object-oriented-programming, object-oriented-design
3+
created_by: MIT, Alan Kay
4+
display_name: Object-oriented programming (OOP)
5+
released: 1960
6+
short_description: Object-oriented programming is a programming paradigm based on the concept of objects fundamental to many programming languages.
7+
topic: oop
8+
wikipedia_url: https://en.wikipedia.org/wiki/Object-oriented_programming
9+
related: procedural-programming, open-closed-principle, inheritance, polymorphism, orm, functional-programming, event-driven-programming
10+
---
11+
**Object-oriented programming** (**OOP**) is a programming paradigm based on the concept of objects fundamental to many programming languages, including [Java](https://github.com/topics/java) and [C++](https://github.com/topics/cpp). OOP can be devided in two sub types: class-based (or "classical") and prototype-based OOP (found in [JavaScript](https://github.com/topics/javascript), for example).
12+
13+
Object-oriented programming has several advantages over procedural programming:
14+
* OOP provides a clear structure for the programs
15+
* OOP helps to keep the code DRY "Don't Repeat Yourself", and makes the code easier to maintain, modify and debug
16+
* Logic can be abstracted, encapsulated, composed, inherited and decoupled

0 commit comments

Comments
 (0)