CSC/ECE 517 Fall 2009/wiki2 4 dn: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 6: Line 6:
The if-then statement is the most basic of all the control flow statements. It tells a program to execute a certain section of code only if a particular test evaluates to true.
The if-then statement is the most basic of all the control flow statements. It tells a program to execute a certain section of code only if a particular test evaluates to true.


 
<pre>
 
if (symbol = "+")
{
  result = a+b
}
else if(symbol = "-")
{
  result = a-b
}
else if(symbol = "*")
{
  result = a*b
}
.....
</pre>


== Polymorphism ==
== Polymorphism ==


In object-oriented programming, [http://en.wikipedia.org/wiki/Type_polymorphism polymorphism] refers to a programming language's ability to process objects differently depending on their data type or class. More specifically, it is the ability to redefine methods for derived classes.
In object-oriented programming, [http://en.wikipedia.org/wiki/Type_polymorphism polymorphism] refers to a programming language's ability to process objects differently depending on their data type or class. More specifically, it is the ability to redefine methods for derived classes.

Revision as of 15:45, 8 October 2009

A large fraction of the if-statements in o-o programs could be replaced by uses of polymorphism, which would lead to more modular and maintainable programs. Explain why if-statements are error prone if there is any chance that future development may require them to change. Give examples of if-statements that can be replaced by elegant uses of polymorphism, trying to find some useful replacements that are not obvious. Concentrate on polymorphism, not other reasons for avoiding use of ifs.


The If Statement

The if-then statement is the most basic of all the control flow statements. It tells a program to execute a certain section of code only if a particular test evaluates to true.

if (symbol = "+")
{
  result = a+b
}
else if(symbol = "-")
{
  result = a-b
}
else if(symbol = "*")
{
  result = a*b
}
.....

Polymorphism

In object-oriented programming, polymorphism refers to a programming language's ability to process objects differently depending on their data type or class. More specifically, it is the ability to redefine methods for derived classes.