Programming with ObjectsThe Benefits of OOPWhere OOP Breaks DownUnderstanding System.ObjectCommon MethodsToStringGetHashCodeEqualsGetTypeObject EqualityGenerated EqualityUnderstanding ClassesExplicit ConstructionImplicit Class ConstructionGeneric ClassesThe Self IdentifierMethods and PropertiesPropertiesAuto-propertiesSetting Properties in the ConstructorMethodsStatic Methods, Properties, and FieldsStatic fieldsMethod OverloadingAccessibility ModifiersAccessibility modifiers on module valuesF# signature filesInheritanceMethod OverridingCategories of ClassesAbstract classesSealed classesCastingStatic upcastDynamic castPattern matching against types