CSC/ECE 517 Fall 2009/wiki2 4 va: Difference between revisions
m (→Introduction) |
m (→Introduction) |
||
| Line 5: | Line 5: | ||
The <b>IF statement</b>, a conditional language structure, has been available to programmers for quite some time. It was first introduced in FORTRAN in a form of an [http://en.wikipedia.org/wiki/Arithmetic_IF <b>arithmetic IF statement</b>] back in 1957. The control of the program would be redirected to one of the three labels, depending on the value of the analyzed arithmetic expression (which could be negative, positive, or zero). Over the years, this language element had become obsolete and was replaced by a logical IF statement (if-then-else), the one that is still widely used to this day. | The <b>IF statement</b>, a conditional language structure, has been available to programmers for quite some time. It was first introduced in FORTRAN in a form of an [http://en.wikipedia.org/wiki/Arithmetic_IF <b>arithmetic IF statement</b>] back in 1957. The control of the program would be redirected to one of the three labels, depending on the value of the analyzed arithmetic expression (which could be negative, positive, or zero). Over the years, this language element had become obsolete and was replaced by a logical IF statement (if-then-else), the one that is still widely used to this day. | ||
The logical IF statement is very familiar to most programmers as it is one of the first language structures they learn. Despite that, it is a cause of many code errors. Being an artifact that is left from the days of [http://en.wikipedia.org/wiki/Structured_programming structured programming], most today's object-oriented languages have more sophisticated control structures. One of | The logical IF statement is very familiar to most programmers as it is one of the first language structures they learn. Despite that, it is a cause of many code errors. Being an artifact that is left from the days of [http://en.wikipedia.org/wiki/Structured_programming structured programming], most today's object-oriented languages have more sophisticated control structures to replace the IF statement. One of such approaches is a use of polymorphism. | ||
== Use of IF statements == | == Use of IF statements == | ||
Revision as of 20:40, 8 October 2009
Introduction
The IF statement, a conditional language structure, has been available to programmers for quite some time. It was first introduced in FORTRAN in a form of an arithmetic IF statement back in 1957. The control of the program would be redirected to one of the three labels, depending on the value of the analyzed arithmetic expression (which could be negative, positive, or zero). Over the years, this language element had become obsolete and was replaced by a logical IF statement (if-then-else), the one that is still widely used to this day.
The logical IF statement is very familiar to most programmers as it is one of the first language structures they learn. Despite that, it is a cause of many code errors. Being an artifact that is left from the days of structured programming, most today's object-oriented languages have more sophisticated control structures to replace the IF statement. One of such approaches is a use of polymorphism.
Use of IF statements
class Vehicle
def initialize
puts "I am a vehicle"
end
end
class Car < Vehicle
def initialize
super
puts "I am a passenger car"
end
end
class Truck < Vehicle
def initialize
super
puts "I am a commercial truck"
end
end
class Driver
puts "Do you have a Car or a Truck?"
#Expects Car or Truck, case sensitive
type = gets
my_car = eval(type).new
if my_car.class == Car
puts "I like 87 octane gasoline"
elsif my_car.class == Truck
puts "I like diesel"
end
end
Use of polymorphism
class Vehicle
def initialize
puts "I am a vehicle"
end
end
class Car < Vehicle
def initialize
super
puts "I am a passenger car"
end
def get_type_of_fuel
"I like 87 octane gasoline"
end
end
class Truck < Vehicle
def initialize
super
puts "I am a truck"
end
def get_type_of_fuel
"I like diesel"
end
end
class Driver
puts "Do you have a Car or a Truck?"
#Expects Car or Truck, case sensitive
type = gets
my_car = eval(type).new
puts my_car.get_type_of_fuel
end
Conclusion
xxxxx