In computer science, Object-oriented programming, OOP for short, is a computer programming style that emphasizes the following concepts:
* Objects - Packaging data and functionality together into units within a running computer program; objects are the basis of modularity and structure in an object-oriented computer program.
* Abstraction - The ability for a program to ignore some aspects of the information that it is manipulating, i.e. the ability to focus on the essential.
* Encapsulation - Ensures that users of an object cannot change the internal state of the object in unexpected ways; only the object's own internal methods are allowed to access its state. Each object exposes an interface that specifies how other objects may interact with it.
* Polymorphism via message sending. Instead of subroutine calls, object-oriented languages can make message sends; the specific method which responds to a message send depends on what specific object the message is sent to. This gains polymorphism, because a single variable in the program text can hold different kinds of objects as the program runs, and thus the same program text can invoke different methods at different times in the same execution. To contrast, functional languages gain polymorphism through the use of first-class functions.
* Inheritance- Organizes and facilitates polymorphism and encapsulation by permitting objects to be defined and created that are specialized types of already-existing objects - these can share (and extend) their behavior without having to reimplement that behavior.
<http://en.wikipedia.org/wiki/Object_Oriented_Programming>
For this reason I've always preferred the term John Dowdell of Macromedia uses to distinguish xTalks from true OOPSes: "object based". It still lets you swing the term "object" with a certain cache, while satisfying the formalists who require all of the above features to consider a language truly OOP.
That said, I believe that well-written xTalk delivers most of the productivity benefits of OOP, sufficiently that there is a good argument for using xTalk regardless of which computer terms best describe its classification.
-- Richard Gaskin Fourth World Media Corporation __________________________________________________ Rev tools and more: http://www.fourthworld.com/rev _______________________________________________ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution