Studies in object-oriented programming backbone implementations

Monday Eze 1, *, Charles Okunbor 2 and Umoke Chukwudum 3

1 Department of Computer Science, Babcock University, Nigeria.
2 Department of Computer Science, Admiralty University, Delta State, Nigeria.
3 Department of Vocational and Technical Education, Alex-Ekwueme Federal University, Nigeria.
 
Research Article
Global Journal of Engineering and Technology Advances, 2021, 08(03), 020–031.
Article DOI: 10.30574/gjeta.2021.8.3.0119
Publication history: 
Received on 20 July 2021; revised on 24 August 2021; accepted on 26 August 2021
 
Abstract: 
This work is a combination of conceptual and hands on based study aimed at laying a foundation for practical Object-Oriented software construction. First it presents a conceptual study of a number of backbone concepts of modern Object-Oriented Programming (OOP) languages. Secondly, it attempts to demonstrate real-life implementations of these concepts using Python Programming Language. This work touches on practical issues on Class and Object Creation, especially on the syntax and creation, and demystifies the subject matter using a simple table of rules. The OOP concept of Inheritance was studied, with focus on the three major types of inheritance. The self-argument, and constructors were studied, with focus on the three constructors - default, parameterized, and non-parameterized constructors. A brief discussion, and pictorial illustration was also made on the disparity between normal mathematical functions and OOP method calls. Further areas of studies are the concept of overriding between the parent and child class, as well as the OOP puzzle commonly known as Diamond Problem, including code segment and diagrammatic illustration of Python-based solutions. There are a number of other back-bone concepts in OOP not covered in this study, such as Encapsulation, Abstraction, Meta-Programming, among others, which will form areas of focus in future studies. Effort was made to enhance the overall presentation through practical illustrations using source codes, annotated diagrams, and discussions. It is hoped that this work will be very useful to researchers and other practitioners in Object Oriented implementations. 
 
Keywords: 
Object-Oriented Programming; Constructors; Class; Inheritance; Diamond Problem
 
Full text article in PDF: