This paper is our first attempt to introduce the concept of object-ori
ented design to the programming of the finite element method (FEM). Se
veral classes are defined to combine the procedural and data abstracti
ons found in a detailed analysis of the functionality in a typical dis
placement linear elasticity FEM. The class hierarchies make the data e
ncapsulation, code sharing, program maintenance, and, most importantly
, adding new types of elements or solution methods much easier than in
the traditional procedural FEM programming (usually FORTRAN code). Th
e Microsoft C++ 7.0 is employed for developing an object-oriented gene
ral purpose FEM and each step in the high and low levels of abstractio
n is given.