So-o defines a functional layer which adds an object-oriented programming model to a structured programming language. Inspired by Smalltalk, So-o is complete, simple and light, easy to understand.
So-o has 3 functions: defclass
which defines a new class, sendmsg
which is systematically used to send a message to a class or an instance, and supersend
which runs a method inherited from a superclass. Simply object-oriented!
So-o proposes a standard implementation in several languages. The code in PHP is less than a 1000 lines. The code in C in just about 1500 lines. The code in JavaScript is not even 700 lines.
Defines the class Hello which inherits from the default class Object. Its revision number is 1. It adds no class or instance properties. It adds no class methods. It adds an instance method called hello.
The function i_hello
defined in the Hello namespace implements the instance method called hello. $self
is the instance which has received the hello message.
Loads the code for the Hello class. Sends the message new to the Hello class. The new method is implemented by the Object class. It returns a new instance of the class. Sends the message hello to the $hello
instance.
A simple main to illustrate how the Hello class is used:
Compilation with the library libso-o.a and execution:
A few lines of code to illustrate how the Hello class is used:
Execution with Node.js:
Visit so-o.org.
Comments