Access functions for each of the fields of the record. You can read about this starting on page 79 of Essentials of Programming Languages . If you know neither C nor Pascal, you should skip the rest of this section. Its only purpose is to place the modern notion of classes and objects in an historical context which may help people familiar with one of those languages. If you don't have experience in either of those languages, you're probably better off skipping to Chapter 2.
Most programming languages provide some support for data abstraction.
In Pascal, you can use records for this purpose. Similarly, in C you use structs. The typedef statement above serves as the interface. One team of programmers will use the point functionality, while another will provide it. They will need notation to make it clear who can access what piece of data, when and how.