×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
Walden H. Leverich wrote:
Yes, because java doesn't support operator overloads. If it did you
could do:
MyClass saveObject = originalObject;
And the addition of decimals would also be trivial as the + operator
would be overloaded to work as expected.
You could define a method on the class called something like CopyFrom()
or create a copy constructor that created one object from another.
Sure, you *can* create a copy constructor. Just like I *can* emulate
most OO features in RPG (with the possible exception of polymorphism,
but even that can be emulated with procedure pointers if you're sick and
twisted enough).
I think Lim's point is that RPG is better suited for some classes of
business work because of the features that are already inherent in the
language.
Besides, operator overloading, especially in the case above, is a very
questionable technique. Since the statement "saveObject =
originalObject" normally does *not* copy the object, but only the
reference, then consider the code below:
MyClass saveObject = originalObject;
saveObject.setValue(1);
Without operator overloading, this sets the value of both saveObject and
originalObject. If you then overload the operator, suddenly you have a
new object, and then code that originally counted on the normal
operation of the = operator breaks horribly.
I've never been a fan of changing the existing behavior of an operator.
It falls in the category of clever coding, and can lead to absolutely
undebuggable code. I remember the macro assembler days when guys spent
weeks getting a macro to work correctly, only to move on to some other
project and leave us poor maintenance programmers with the task of
figuring out what the thing actually did...
Joe
As an Amazon Associate we earn from qualifying purchases.