Your skill will accomplish what the force of many cannot |
|
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
Here is a simple example. I had been using conditionals in a project to be able to run the same code in console mode, or with a GUI output. I replaced these conditionals with lines like this:
$ui->refresh In the Text package, refresh is just a stub, i.e. refresh {}, while the Graphical package has a functioning refresh routine. (In general, the stubs might better be in the base class.) I create the object in the first lines of the program based on a command-line switch. The program is a single file. I share data by using our ($var1, @var2, %var3) enabling all packages to access these variables without a package prefix. This is how I got the polymorphism to work, thanks to the advice of some helpful monks.
UPDATE: Changed @ISA = '' to </c> @ISA = ()</c> as cautioned by chromatic. In reply to Re: replace conditionals with polymorphism
by gnosti
|
|