Chapter 5. Object-Oriented Programming

In this chapter, we cover the most widely used programming paradigm today: object-oriented programming. Mastering object-oriented programming 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 the 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 enables you to organize batches of code into conceptual objects, so that you can limit your interactions with code to small and well-defined interfaces.

The Benefits of OOP

There are several benefits to object-oriented programming:

Encourages code reuse

By encapsulating your code into objects, it can be reused, which ultimately saves time and enhances productivity.

Tame complexity

Rather than dealing with myriad individual functions and global variables, OOP allows you to deal with one item at a time. Any mutable state is scoped to just the object.

Specialization through inheritance

Using polymorphism, you can write code that deals with a base type of object, and still accepts any ...

Get Programming F# 3.0, 2nd Edition 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.