Polymorphism in The C Programming Language

650 Words2 Pages

Polymorphism in The C Programming Language The problem is that we need to compress our programs while still having them function correctly and process items differently depending on type or class. The solution is polymorphism. Polymorphism in object oriented programming is the programming language's ability to process items differently depending on their data type or class. In other words, it is the ability to redefine methods for derived classes. The true rule for C++ polymorphism is that when one class, named A is derived from or "inherits" another class, named B, A can do anything that B can do, thus it can store pointers to A in variables declared as B. Here are examples for and the definitions of the three types of polymorphism. If you were to have a base class named shape, polymorphism lets the programmer define different and separate circumference methods for any number of derived classes, such as circles, rectangles, and triangles. No matter what the shape of the object is, the circumference method will always return correct. This is an example of one of three types of polymorphism. This specific type is known as parameterized polymorphism, or parametric polymorphism. Another type of polymorphism is called overloading. Overloading is a form of polymorphism that allows an object to have different meanings depending on context. It is most often used to reference operators that can behave differently because of the data type class or operands. This is best illustrated using X+Y. X+Y can mean different things depending on wheather x and y are simple intergers or complex data structures. Here is a clearer example: 4 + 5 *-- integer addition 3.14 + 2.0 *-- floating point addition s1 + "bar" *-- ... ... middle of paper ... ... it takes more understanding, but it is worth it when writing large programs. In the long run polymorphism will help the serious programmer become more efficient in his programming. In my conclusions this is a better topic for someone in a more advanced class but it is a good way to save time when writing involved programs. I hope to learn more about this subject as I progress in my programming, and use this newfound knowledge to my advantage. Bibliography: Deitel & Deitel How to program C++ 2nd edition Copyright 1988 United States of America Internet.com http://www.wdvl.com/Authoring/Languages/Perl/5/polymorph.html Copyright 1999-2000 internet.com Corp Webopedia http://webopedia.internet.com/TERM/p/polymorphism.html Copyright 1999-2000 internet.com Corp. UNKNOWN http://www.cs.orst.edu/~cs582/slides/chap14/slide2.htm

Open Document