I am new to overloading, just read up about it and I think I understand it. I had a question concerning overloading now that wasn't answered in the manual.
When and where should I use overloading?
I know there is probably limitless answers, so I will try to generalize this. Are there certain scripts you've found benefit more from overloading or written anything that you've prefered overloading? Also, if you could work around overloading, does overloading cause any speed difference?
I think SimpleXML uses overloading ( if it's entirely PHP that is ), where you can access all your XML as object properties ( correct me if I am wrong ).
I am working on a CMS I am going to use for some hobby sites, and was thinking about implementing it on a few things. First would be with registered users information. I already assign their data when they login into an object, but thought for reasons of future extendability, if I used overloading I could access any new properties without needing to touch the code at all.
Overloading is for ambiguous functions. If you have a function with a lot of parameters that can do a lot of things, you may want other functions with less arguments that do less things. When I write overloaded functions they almost always use that "main" function with only what I need transferred over and other constant factors automated.
For example, one program I wrote had a circle drawing function. The circle could be an RGB color and at any given position on the screen. It could also have a border around it that is as wide as you want and any RGB color, same as a center. This is a lot of arguements, I had overloads to make a simple solid color circle where it only asks for the R,G,B,x and y values and fills the rest with zeros. That way you don't have to specify six zeros every time you want a solid circle.
The Following User Says Thank You to Village Idiot For This Useful Post:
Ok, I was also told the performance hit of overloading is fairly miniscule. My intentions for it were to create a user class that retrieves user data. This way if ever the user table changed ( more fields were added ) I could access them right away.
I guess I could have done the same with a get and set method, loading the data to an array to begin with and retrieve through methods. Oh well, just trying to get a better understanding of overloading. Thanks!