Chapter 5. Object-Oriented Programming

In this chapter, we will cover the most widely used programming paradigm today: object-oriented programming. Mastering object-oriented programming (OOP) is crucial for taking advantage of the existing frameworks and libraries available on .NET, as well as writing F# code that can be integrated into those libraries.

Programming with Objects

Software systems are some of the most complex things created by man. Consider your typical .NET program: thousands if not millions of lines of source code, transformed into some intermediate language by compilers, then compiled again to machine code via a JITer, which then executes on a processor. Knowing the details about how each step works is just too much to handle.

Rather than sweating all the details of a program, object-oriented programming is about breaking problems into conceptual objects, and manipulating those. By modeling the world in terms of abstract objects, you can simplify the complexities of the underlying code.

For example, imagine you have a web log file. You can write several functions to parse and analyze the data. But conceptually it is a log file, which has properties such as file size and number of records, and actions such as delete, copy, find, backup, etc. By adding one more layer of abstraction, you can forget about all the complications of the layer below.

The Benefits of OOP

There are several benefits to object-oriented programming:

Encourages code reuse

By encapsulating your code into ...

Get Programming F# now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.