Recently many efforts are made for extending Prolog to absorb the useful object-oriented programming concepts. But as an object-oriented language these extensions are not sufficient because they did not have important features such as metaclass, metaobject with which many object-oriented languages provide for flexible language utilization.
In this thesis a Prolog extension that includes metaclass is tried. By the inclusion of metaclass, the extended Prolog have uniform internal representation of objects, classes and metaclasses. As a result all classes are real objects which have metaclasses as thesir classes. This uniformity makes implementation and utilization of the extended language very flexible because metaclasses provide explicit definition of class structures/behaviors and programmers can extend and modify class related property of the language using metaclass.
In this thesis the usefulness of metaclasses for making specialized class structures/behaviors and implementation of new inhertance mechanism by the modification of class behaviors defined in metaclasses are shown through program examples.