The Definitions of “Object Oriented Programming”

The Definitions of “Object Oriented Programming”

The objective of this post is to form a parenthetical definition, a sentence definition, and an expanded definition of a relatively complex term. The objectives are as follows:

  1. Appreciate the importance and role of definitions in technical writing
  2. Understand how audience and purpose indicate the need for definition
  3. Differentiate between the levels of details in the definition
  4. Select the right level of detail according to the situation

The term, object-oriented programming (OOP), is a term used in computer science and is commonly used by programmers to describe a computer programming model to other programmers.

Parenthetical Definition

When starting the next big project, my manager suggested that we should use a programming language that supports object-oriented programming (a programming model using objects) instead.

Sentence Definition

Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic.

Expanding Definition

Analysis of Parts

There are four main structures of object-oriented programming:

  1. Classes: User-defined data types that act as the blueprint for individual objects, attributes and methods.
  2. Objects: Instances of a class created with specifically defined data. Objects can correspond to real-world objects (e.g. cars, people, dogs, courses) or abstract entities (e.g. parser, node, array, set).
  3. Methods: Functions that are defined inside a class that describe the behaviours of an object.
  4. Attributes: Represent the state of an object.

Comparison and Contrast

Property Functional Programming Object-Oriented Programming
Example DrRacket, Rust Java, JavaScript
Definition Emphasizes on evaluation of functions Based on the concept of objects
Data Uses immutable data Uses mutable data
Model Follow declarative programming model Follow imperative programming model
Element Variables and functions Objects are methods
Use Used only when there are few things with more operations Used when there are many things with few operations

 

Visuals & Examples

cars.png

A class car can have multiple objects of cars and the class car acts as a blueprint for car objects. In this example, there are three car objects (polo, mini, beetle) that follow the blueprint of the class car.

Object Oriented Programming (OOPs) Tutorial with Examples

An object contains attributes and methods. Attributes represent the state of the object and methods define the behaviour of the object. In this example, we create an object of class Human with three attributes (name, age, email) and two methods (walk, sendEmail).

 

Reference

Fathima, S. (2021, June 23). Functional programming vs Object Oriented Programming (OOP) which is better….? Medium. Retrieved January 30, 2022, from https://medium.com/@shaistha24/functional-programming-vs-object-oriented-programming-oop-which-is-better-82172e53a526

Gillis, A. S., & Lewis, S. (2021, July 13). What is object-oriented programming (OOP)? SearchAppArchitecture. Retrieved January 30, 2022, from https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP#:~:text=Object%2Doriented%20programming%20(OOP)%20is%20a%20computer%20programming%20model,has%20unique%20attributes%20and%20behavior.&text=Each%20distinct%20logic%20sequence%20is%20known%20as%20a%20method.

Singh, D. (2020, December 30). Object Oriented Programming (OOPS) tutorial with examples. HolyCoders. Retrieved January 30, 2022, from https://holycoders.com/object-oriented-programming-oops-tutorial-with-examples/

Top 13 functional programming languages. PurelyFunctional.tv. (2021, June 5). Retrieved January 30, 2022, from https://purelyfunctional.tv/functional-programming-languages/

What is Object Oriented Programming?: IST Advanced Topics Primer. (n.d.). Retrieved January 30, 2022, from https://webcourses.ucf.edu/courses/1249560/pages/what-is-object-oriented-programming

Leave a Reply

Your email address will not be published. Required fields are marked *

*