Background: Indeed, Object-Oriented Programming (OOP) has emerged as one of the major fundamental paradigms in today’s world of software development as it contains principles that enhance modularity, reusability, and maintainability of software. This article explores deeper into some of the facets of OOP aspects as exhibited in some of the most frequently used programming languages ranging from Java, Python, C++, and C# with an intent of offering substantive information to aspects like encapsulation, inheritance, polymorphism, and abstraction. The article synthesizes the ones focusing on the relevance and conceptualization of OOP and problems related to it in the context of learners and practitioners. It also describes strengths and weaknesses of using C++, Python, and Java in relation to OOP while stressing peculiarity of these languages. Some of the core principles of OOP are highlighted such as encapsulation, inheritance, polymorphism, and abstraction and how they are complicated and significant in today’s software engineering. Materials and Methods: There was a presentation of a survey on which the research is based to determine the problems that programmers encounter when applying OOP features using a sample of 80 programmers in the computer science fields in some Nigerian Universities. Results: Findings reveal the significance of understanding OOP concepts in popular languages and suggest ways of increasing developers’ efficiency, minimizing errors, and improving the quality of developed software. Conclusion: Suggestions include a necessity for training and education to enhance software developers' understanding of OOP features. The findings can guide the creation of training materials and courses centered on OOP concepts, aiming to improve software development practices and elevate the quality of software products.
Read full abstract