Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

In software design, we can say a class is a polymorphic class. If a class is not a polymorphic class and I want to make it one, do I say I've polymorphized the class?

share|improve this question
2  
I suppose the verb would come from how you went about making it become a polymorphic class. i.e Did you subclass it (it was subclassed) or did you move up some methods into a parent class i.e. it was abstracted. Or was an interface implemented by it. –  JWEnglish Oct 13 '11 at 17:50
1  
My guess here (correct me if I'm wrong grokus) is that he's talking about taking a vanilla non-polymorphic class, and rewriting its source code so that it is now polymorphic. –  T.E.D. Oct 13 '11 at 17:56
    
T.E.D. was right. –  grokus Oct 13 '11 at 19:39
add comment

3 Answers

Polymorph is a word software folks created from the some handy Greek-ish roots poly (meaning "many") and morph (meaning "change"). The idea is to indicate that the base type (aka: class) in question can be easily changed in many possible ways (generally via a derived class of some kind). It is generally used as an adjective (it modifies a noun) or an adverb (modifying a verb like is).

So back to English grammar. Often we can transform a noun to a verb with an "ize" on the end to indicate that we have somehow transformed the subject of the sentence into that other noun. For example, if I transform an array into a raster, you could say I rasterized the array.

However, its kind of awkward to do this with an adjective or adverb rather than a noun. I'm sure its done from time to time, but not ubiquitously. For example, if I paint something blue, you wouldn't likely hear someone say that I blueized that thing.

Now you could try to transform your noun into a verb just by adding a simple -ed on the end (polymorphed). However, as I think you suspected, that would be saying that you actually changed the subject itself, which isn't the point of what you want to say at all.

So I don't think you can get around the somewhat wordy, "made it polymorphic".

share|improve this answer
2  
+1. Sometimes doing something in a specific way gets verbed, such as "black up my hands", but more often the action which is performed is a sufficient verb and the way in which it is performed (or the result of that performance) is not verbed. So the code is "refactored" or "rewritten" to be polymorphic just like the car is "painted" to be blue, and not blued, or blueized. –  Mr. Shiny and New 安宇 Oct 13 '11 at 19:50
    
Rereading this after a year, and I would like to clarify one point in here. The word certianly existed before software people adopted it. I remember it as a Magic User spell in my DnD days back in the late 70's. In fact, this pre-existing use of the word "polymorph" is exactly why I think saying "polymorphed" would be wrong here. It has an existing meaning that isn't what he wanted. –  T.E.D. Mar 1 '13 at 14:44
add comment

I've never needed to use the term. However, I might say:

I've refactored the class to become polymorphic.

share|improve this answer
1  
On a side note, you might be interested in The "Replace Conditional with Polymorphism" Refactoring –  JWEnglish Oct 13 '11 at 18:14
add comment

You can if you want to.

It’s not in common usage yet. A phrasing like “…made someclass polymorphic…” is currently more common (as googling, and more specifically searching various programming language communities, confirms). However, in technical contexts, coining new terms is quite common, and not generally scoffed at; and this one is completely transparent — anyone familiar with polymorphism will understand what you mean. Also, while uncommon, it’s certainly not unknown: searching does give a fair few other examples of people using polymorphize (or polymorphise) as a verb.

So: if you like it, go for it!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.