Revised Definition: Object-Oriented Programming

Introduction

The criteria of this assignment is to define a technical term using three different definitions: a parenthetical definition, a sentence definition, and an expanded definition. The goal is for students to understand the importance of technical writing. This includes understanding the target audience and purpose for the need of definition, the different levels of details in different definitions, and how to select the appropriate definition based on the situation. 

 

Term: Object-oriented Programming

 

Target Audience and Reading Situation:

Consider a hypothetical situation where a professor or teaching assistant in the department of Computer Science must define the term object-oriented programming to their first year computer science students. The technical term must be defined in a way that is easy to understand for these students with little to no knowledge of computer science. 

 

Parenthetical Definition:

Object-oriented programming (a programming style that divides a system into smaller subparts), allows for software programs to be broken down into simple and reusable pieces of code (small individual lego pieces making a big structure that can be modified and combined in different ways to build varying designs). 

 

Sentence Definition:

Object-oriented programming (OOP) is a type of programming paradigm that models software programs as a collection of objects, where each object represents a specific aspect of the program and is able to communicate with one another. 

Expanded Definition:

What is Object-Oriented Programming?

Object-oriented Programming (OOP) is a programming paradigm that is fundamental to various programming languages, including Java. It can be considered to be a blueprint for making a software program, just like how architects use a blueprint to design a house. OOP focuses on the concept of building a collection of “objects”, which contain data and code. Objects in a program can interact with one another, which means the program can be easily modified and reused. This is a very valuable and important feature because it allows the program to be updated with new features, or create an entirely different interface without writing duplicates of code. 

 

Why is it called Object-Oriented?

 It is called object-oriented because this approach focuses on objects that represent abstract and concrete things in the real world. For example, in real life, a dog has a size and fur colour. A dog can also bark or perform tricks. In OOP, we can create a dog object with attributes like size, fur colour, and behaviours , such as bark or tricks that the dog can perform. 

 

How is it applied?

In order to create a dog object example described above in OOP, a class is defined to represent the object. A class is the blueprint used to describe the attribute and behaviour of the object. Using the class blueprint, different objects or in this case, different dogs can be created. There could be a golden retriever dog object with attributes like having a large-sized build and golden coat. It can also have behaviour that states that this dog has a loud bark and can fetch tennis balls. Alternatively, there could be a miniature poodle dog object with attributes of having a medium-sized build and a brown coat, with a quiet bark and knows how to play dead.  As shown in Figure 1, from the dog class blue print, many different dog objects can be created. 

Figure 1. A visual diagram on how objects are created from a class in OOP

 

Object-oriented programming vs. Functional programming

Object-oriented programming may often be mentioned together with functional programming, but they are vastly different when it comes to their approach to programming. Functional programming is another type of programming paradigm that emphasizes immutability, which means unchanging or unable to be changed. This feature of functional programming differs greatly from the modifiability and reusability of object-oriented programming. These two paradigms are often used together in many programming languages, as the choice between them depends on the application being built, or the problem that needs to be solved. 

 

 

References

Chambers, J. M. (2014). Object-Oriented Programming, Functional Programming and R. Statistical Science, 29(2). https://doi.org/10.1214/13-sts452

Kölling, M. (1999). The Problem of Teaching Object-Oriented Programming, Part 1: Languages. Journal of Object-Oriented Programming, 8, 8–15. https://kar.kent.ac.uk/21879/2/the_problem_of_teaching_object-oriented_kolling_1.pdf

Rentsch, T. (1982). Object oriented programming. ACM SIGPLAN Notices, 17(9), 51–57. https://doi.org/10.1145/947955.947961

Stroustrup, B. (1988). What is object-oriented programming? IEEE Software, 5(3), 10–20. https://doi.org/10.1109/52.2020

Leave a Reply

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

*