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.

Highlights

  • Though Object Oriented Programming (OOP) [1] is considered to be a modern programming paradigm, the root goes back to 1967 when the first Object-Oriented Programming (OOP) language known as Simula 67 [2] was introduced

  • First it presents a conceptual study of a number of backbone concepts of modern Object-Oriented Programming (OOP) languages

  • 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

Read more

Summary

Introduction

Though Object Oriented Programming (OOP) [1] is considered to be a modern programming paradigm, the root goes back to 1967 when the first OOP language known as Simula 67 [2] was introduced. This research focuses on Object Oriented Programming with the practical implementations based on Python 3.8. The choice of Python in this research is based on a number of its strengths and attributes One of such attributes is the fact that Python is a multi-paradigm [11] programming language. The number of parameters [27] in a typical mathematical function definition is expected to tally with number of arguments in function calls [28] This rule is apparently defied in OOP implementations in Python. When the programmer calls a method of the object as myobj.method (arg, arg2), this is automatically converted by Python into MyClass.method (myobj, arg, arg2) It follows that self is a special parameter in Python [29]

Constructor implementations
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.