JOURNAL ARTICLE

Interfaces for strongly-typed object-oriented programming

Peter S. CanningWilliam R. CookWalter L. HillWalter Olthoff

Year: 1989 Journal:   ACM SIGPLAN Notices Vol: 24 (10)Pages: 457-467   Publisher: Association for Computing Machinery

Abstract

This paper develops a system of explicit interfaces for object-oriented programming. The system provides the benefits of module interfaces found in languages like Ada and Modula-2 while preserving the expressiveness that gives untyped object-oriented languages like Smalltalk their flexibility. Interfaces are interpreted as polymorphic types to make the system sufficiently powerful. We use interfaces to analyze the properties of inheritance, and identify three distinct kinds of inheritance in object-oriented programming, corresponding to objects, classes, and interfaces, respectively. Object interfaces clarify the distinction between interface containment and inheritance and give insight into limitations caused by equating the notions of type and class in many typed object-oriented programming languages. Interfaces also have practical consequences for design, specification, and maintenance of object-oriented systems.

Keywords:
Computer science Programming language Inheritance (genetic algorithm) Smalltalk Object-oriented programming Multiple inheritance Interface (matter) Object (grammar) Flexibility (engineering) Class (philosophy) Artificial intelligence Mathematics

Metrics

35
Cited By
3.44
FWCI (Field Weighted Citation Impact)
27
Refs
0.95
Citation Normalized Percentile
Is in top 1%
Is in top 10%

Citation History

Topics

Logic, programming, and type systems
Physical Sciences →  Computer Science →  Artificial Intelligence
Software Engineering Research
Physical Sciences →  Computer Science →  Information Systems
Advanced Software Engineering Methodologies
Physical Sciences →  Computer Science →  Artificial Intelligence
© 2026 ScienceGate Book Chapters — All rights reserved.