Object Oriented Programming is the main drain in project development time due to its complexity 22 November Outline Object oriented programming Data structures in OOP Procedural programming Data Structures in Procedural Programming Object oriented programming versus procedural programming Code re-usability and Efficiency Conclusion References Object Oriented Programming Object oriented programming refers to a design philosophy that uses various sets of programming languages other than the previous procedural programming. Object oriented programming is mainly compromised of objects which are then used along the program implementation. Object oriented may also refer to a programming method that combines data and instructions into a self-sufficient object.
(Castagna 1997, p113.) Object oriented programming is essentially based on four major distinguishing features namely: abstraction, encapsulation, inheritance, and polymorphism. Abstraction is simply defined as disregarding the extraneous functions, properties, or features and emphasizing the ones that are significant to the related program. Abstraction refers to taking the essential parts of the program and incorporating them into the program while putting away the parts of the program that may not be essential in the process of program development. Encapsulation in simple terms is summing up or rather putting together.
Encapsulation is the way of assembling into a single object the data and the operations that affect the program’s data. Inheritance refers to the process of developing new and unique classes from the ones that have been existence. Inheritance also makes the new classes to acquire the attributes and behaviour of the previous classes. (Svenk 2003, p232.) The new attributes and behaviour of the former classes are incorporated into the new classes so as to suit their requirements. Inheritance may be either single or partial. Polymorphism is the capability of the program developed to perform similar operations on different types of objects.
Each operation is implemented in a way that is apt to the objects that are in use in the program. Object oriented programming bundles procedures and data structures so that an object which is an illustration of class is able to operate on its own data structure. Polymorphism degree that is allowed varies and is of three major flavours referred to as parametric polymorphism, function overloading and sub-typing polymorphism. Parametric polymorphism allows the description of a class or function to be conceptual with respect to some set of types and is predominantly essential when describing abstract data type objects such as lists, arrays, queues, stacks, hash maps trees, graphs, and sets.
Castagna, G. (1997) Object oriented programming: a unified foundation, Berlin: Birkhauser
Dik S. (1992) Functional grammar in Prolog: an integrated implementation for English, French, and Dutch: Berlin Walter de Gruyter
Ganesh S. (2007) 60 Tips On Object Oriented Programming: India Tata McGraw-Hill Education
Hamilton J. (2002) Object-oriented programming with Visual Basic .NET, Cambidge O’Reilly Media
Moock C. (2004) Essential ActionScript 2.0: Cambidge O’Reilly Media
Object-oriented programming: using C++ for engineering and technology, Svenk G. (2003): London Cengage Learning
Programming in Python 3: A Complete Introduction to the Python Language, Summerfield M. (2009): Boston Addison-Weley Proffesional
Rajesh A. (2006) Object oriented programming: concepts and implementation, New Delhi: Laxmi Publications
Tutorial, software reusability, Freeman P. (1987): London Computer Society Press of the IEEE
Visual Basic: A Complete Course, Jones P. (2001): London Cengage Learning