Some things to note:
This begins a Class definition, in which you can define various attributes about the class definition, from variables, to routines, that will be specific to that class. When a new object instance is created, it will receive all the attributes of that class in Memory, seperating it from other objects. In lamen terms, it's like creating a application within an application.
Nested Classes are not allowed, but Classes can be parented to multiple diffrent classes. See Inherit for more details.
See Also: Constructor, Deconstructor, EndClass, Inherit, Member, Method
Constructors allow you a chance to fill information into your Object Instance, and do special things, such as allocate memory, or create Window Handles. Constructors are executed in the order that they are specified, and you can add a single Constructor routine, or add multiple Constructor routines by means of a sequence.
Constructor can only be defined in a Class Definition block.
See Also: Class, Deconstructor, EndClass, Inherit, Member, Method
Like the Constructors, this gives you a chance to free up resources that you may have created during the lifetime of the object. Deconstructors are executed int he same way as Constructors are, and Deconstructors are executed when a Object Instance is recycled (AKA Destroyed).
Deconstructors can only be defined in a Class Definition block.
See Also: Class, Constructor, EndClass, Inherit, Member, Method
This is pretty much self explanitory, it terminates the definition of the current class you are in, and makes it officially available for use by any of the Class routines, or rather, more specifically the new() routine.
See Also: Class, Constructor, Deconstructor, Inherit, Member, Method
Inherit is one of the best things about Object Oriented, it allows you to do sub-classing of a parent class, where you can receive all of the parent's attributes, without having to re-define anything, or re-write code. Proper polymorphism is done, to allow refrencing to be done with ease of usage.
Inherit can only be declared within a Class Definition block. When parenting a class, you cannot parent the current class that you are defining, and you cannot parent the same class twice.
See Also: Class, Constructor, Deconstructor, EndClass, Member, Method
Members can become the most powerful part of an Object Oriented Language, they allow for class objects to have their own reserved areas of memory for data to be stored in. This makes it possible for same like data to be stored in a Euphoria Progam, in a more structured way, without the need to use Constants, and taking away from Euphoria's Namespace issues.
Members can only be declared within a Class Definition block.
See Also: Class, Constructor, Deconstructor, EndClass, Inherit, Method
This allows for Routines to be attached to Classes, so that when a object instance is created, the method can easily access the data stored within said object. This leads to several advantages.
Methods can only be defined within a Class Definition block.
See Also: Class, Constructor, Deconstructor, EndClass, Inherit, Member