1. A method of providing inheritance to a programming object, comprising: receiving a first programming object from a first document; receiving inheritance information about the first programming object; analyzing the inheritance information; creating a second programming object based on the first programming object and the inheritance information; sending the second programming object to an editor for editing; receiving a third programming object from the editor, wherein the third programming object was created by editing the second programming object; creating a fourth programming object based on the first or second programming object, the third programming object and the inheritance information; and storing the fourth programming object in a second document.