In OO languages you can usually create more than one method with the same name, but different signatures, that is different sets of parameters. This is called method overloading.
This way you could e.g. create more constructors (one without, the other with parameters) or overload a method like add ...
Object Oriented Programming would be sooooo much easier in LotusScript if IBM would allow us to extend the native NotesDocument, Notesdatabase etc. classes.
Enhance List Members and Parameter Info (auto-completion feature) in Domino Designer to work for custom LotusScript classes.
In other OO programming languages, there are class methods and attributes. These members are shared by all objects of the class.
In Java, these members are flagged by the "static" modifier before the identifier.
Class methods can be called on the class itself without the need for an ...
Add abstract classes to LotusScript: These classes can't be instantiated (New Class() throws an error). There are used as superclasses only.
An abstract class usually has at least one abstract method, that is an method without an implementation. These can be called by other methods of the class, but ...
In Java - like in other modern object-oriented programming languages - there is the concept of "Interfaces". They are like classes, but have no implemention code.
Classes cannot extend Interfaces (like a superclass), but implement them. That is, they must implement each method of the interface.
I would love to be able to subclass product classes such as
Class MyNotesDocument as NotesDocument
And better yet, I would love to be able to redefine the build in class a la Ruby/Smalltalk. That way every time I ask for a NotesDocument I get my ...
For bigger applications, OO frameworks, reusable components in other OO language there is a concept of namespaces or packages.
This would be useful in LotusScript, too.
Just as NotesDocument supports dynamic Methods that give access to Items it would be a powerful extension to own classes in LotusScript. It might be implemented similar to the new/delete constructor/destructor as methods with specific names, parameters could be passed as variant array (or new Class called ScriptParameterCollection)