Object Oriented Programming
in Salesforce Apex
Write scalable, maintainable Apex code using OOP best practices
Take your Salesforce Apex skills to the next level with this hands-on course focused on object oriented programming (OOP). You’ll explore key principles like encapsulation, inheritance, and polymorphism, and dive into advanced techniques including dependency injection and dynamic programming. Designed for developers with a foundational knowledge of Apex, this course will help you write more flexible, maintainable code and apply sophisticated OOP strategies to real-world Salesforce development challenges—all guided by an experienced Salesforce instructor.
Gain practical OOP skills to write better Apex code
By the end of the course, you’ll be equipped to write more modular, scalable, and maintainable Apex code using principles like encapsulation, inheritance, and polymorphism. You’ll gain the skills to tackle complex Salesforce development challenges with confidence and clean architecture practices.

Understand the core pillars of OOP in Apex
Learn how encapsulation, inheritance, and polymorphism support better code structure and reuse.
Write flexible, maintainable code
Use interfaces and dependency injection to decouple logic and simplify testing.
Apply dynamic programming techniques
Leverage Type.forName and Type.newInstance to build more adaptable solutions.
Build a dynamic product pricer
Create a real-world pricing engine that handles custom logic and account-specific rules.
Work confidently in real development environments
Use Visual Studio Code and Salesforce tools to build and test Apex code efficiently.
Innovative learning methods to fast-track your OOP skills
Self-paced learning
Progress through the material at a speed that suits you.
Hands-on excercises
Work with real coding examples to apply what you've learned.
Expert Guidance
Benefit from instructor-led support to navigate the course material.
Interactive Coding Challenges
Reinforce key concepts through coding exercises and challenges.
Certificate upon Completion
Showcase your achievement with a certificate that validates your skills.

Who should take the OOP course from Focus on Force?
This course is designed for developers who have a basic understanding of Apex classes and functions, experience using Salesforce development tools – especially Visual Studio Code – and access to a functional Salesforce Developer Org.
- Apex developers with basic knowledge of classes and functions.
- Salesforce Professionals looking to strengthen their coding practices.
- Developers aiming to build advanced features or managed packages in Salesforce.
- Anyone who has completed the Focus on Force Introduction to Salesforce Apex course and wants to level up.

Class Outline
Lesson 1
- i. What is Object Oriented Programming (OOP)?
ii. Who is This Course For?
iii. Object Oriented Programming Benefits
iv. Prerequisites
Lesson 2
- a. What is Encapsulation?
b. Benefits
c. Best Practices - d. Case-Insensitive Map Example
e. Exercises
Lesson 3
- a. What is it?
b. Feline Example
c. Data Inheritance
d. Function Inheritance
e. Function Overriding
f. Super Class / Base Class
g. Sub Class / Child Class
h. Exercises
Lesson 4
- a. What is it?
b. Abstract
c. Interfaces
d. Apex Salesforce Definition
e. Methods Only
f. Programming to an Interface
g. Replace Nested-If with Strategy
h. Exercises
Lesson 5
- a. What is Dependency Injection?
b. Constructor Dependency Injection
c. Function Dependency Injection
d. Property Dependency Injection
e. Runtime Dependency Injection
f. Type.forName
g. Type.newInstance
h. Exercises
Lesson 6
- a. Requirements
b. Price one or more products for an account
c. Provide discount pricing
d. Custom pricing logic per customer

Meet your Salesforce Apex course instructor
Luke Freeland is a 15x certified Salesforce Architect and full-stack developer.
With over a decade of experience in Salesforce development, Luke has created numerous custom Salesforce applications and integrations. He is passionate about training others and has extensive experience teaching Salesforce development and technical skills.
