We describe Links, a low-level calculus designed to serve as the basis for an intermediate representation in compilers for class-based object-oriented languages. The primitives in Links can express a wide range of class-based object-oriented language features, including various forms of inheritance, method override, and method dispatch. In particular, Links can model the object-oriented features of Moby, Ocaml, and Loom, where subclasses may be derived from unknown base classes. Links can also serve as the intermediate representation for more conventional class mechanisms, such as Java's. In this paper, we formally describe Links, give examples of its use, and discuss how standard compiler transformations can be used to optimize programs in the Links representation.