Object Oriented Programming
4.2 (102 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,189 students enrolled

Object Oriented Programming

Learn how to write better code using Object Oriented Programming Techniques.
4.2 (102 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,189 students enrolled
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 1.5 hours on-demand video
  • 2 mins on-demand audio
  • 2 articles
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Implement the basic Object Oriented Programming Principles
  • Choose when and where to apply these programming ideals
  • Improve Code Readability and Maintainability
  • Adopt industry standards in program design
  • Participate confidently in a conversation about OOP and the role it plays
Course content
Expand all 22 lectures 01:33:54
+ Getting Started in Object Oriented Programming
5 lectures 15:28

Welcome to this course, in this introductory lecture, we lay out what we will be covering and a little bit about myself.

Preview 03:26

A quick note on whether you should start with the first lecture or jump right into the later sections?

How To Get The Most From This Course As Quickly As Possible

In this lecture we look at what OOP really is and why it is important for you to add it to your toolbelt. We will see why OOP is recommended and I share my thoughts on why you should adopt an O.O.P mindset on your next project.

Preview 04:04

See how by following a personal standard, you can save time, money and effort writing code. In this lecture you get to download a useful resource on developing a Good Programming Style.

[Activity] Good Programming Style / Download

A guide to the commonly used terminology in the OOP world.

Object Oriented Programming CheatSheet
+ Object Oriented Programming - Definitions
8 lectures 35:38

In this lecture we discuss the 4 major components that you need to grasp to effectively apply OOP to your work.

The 4 Tenents Of Object Oriented Programming

This lecture covers the difference between procedural programming and the OOP paradigm. Students will learn how to identify classes and objects from requirements gathering and how to structure a solution efficiently.

Preview 05:26

This lecture offers an insight into Abstraction and how a simple shift in your thinking will improve your coding projects. We use simple real-world objects to explain how it works and cover when you should apply it and when not to!

Definition - Abstraction

This lecture will explain in plain-english why encapsulation is both simple and important to developing robust and secure software.

Definition - Encapsulation

In this lecture you will learn how to think like a developer, how to reduce coding time and how to structure your projects to exploit the benefits of inheritance.

Definition - Inheritance

Poly-what? In this lecture students will have this concept explained in simple terms and see examples of how they are encountering this concept on a daily basis already!

Definition - Polymorphism

In this lecture students will learn about software patterns and how they are structured around and exploit the OOP concepts. This is a high level lecture and does not require coding the examples.

Definition - Software Patterns

In this lecture you will learn how objects interact with each other through their method signatures.

Definition - Message Passing

Take a quick quiz to confirm your understanding of the key terms in OOP.

[Activity] OOP Definitions
3 questions
+ Object Oriented Programming - Practice
4 lectures 17:06

Guided example of how to Apply Classes and Objects to a sample project.

[Activity] Practical Abstraction

Guided example of how to Apply Abstraction to a sample project

Practical Encapsulation

Guided example of how to Apply Inheritance to a sample project.

Practical Inheritance

Guided example of how to Apply Polymorphism to a sample project.

Practical Polymorphism
+ Conclusion
4 lectures 10:52

In this lecture, we draw together some conclusions about Object Oriented Programming and Why we should use it!


In this lecture we take a look at everything we have covered in this course.

We cover the take-aways, and reaffirm the learning goals.


In this lecture I offer advice on how the novice programmer can further his OOP experience. I explain the next logical steps and encourage students to start applying their new skills.

What Next?

Help future students understand this course and share your learning experience.

[Activity] Leaving Feedback
+ Additional Concepts
1 lecture 14:49

Learn how Association, Aggregation and Composition are related. Understand how relationships between objects determine which 'links' are being defined and how you can use them in your next project.

Association, Aggregation and Composition
  • You will need access to a computer with an Integrated Development Environment (IDE) installed. I will be demonstrating concepts using a windows PC running visual studio 2010.
  • You will need some familiarity with your tools, i.e. how to create a project and how to start debugging. But don’t worry, we cover this in the first demonstration.
  • You should be familiar with the basics of programming, such as Loops, Methods and arguments.

Please Note: This is not a live coding course. In order to keep the material as beginner friendly as possible and to save you the time of watching me type, this course does not feature code examples being typed as you watch. It does however contain the code samples covered. 

UPDATED: Jan 2016 - added new section on Association, Aggregation and Composition

UPDATED: April 2016 - added new Object Oriented Programming Terminology CheatSheet

This course is about 'Object Oriented Programming' (OOP). If you are new to OOP or are looking to brush up on your programming knowledge perhaps for an interview or just for fun! This course will quickly get you up to speed on the important concepts of OOP. 

Language agnostic, the concepts presented in this course can EASILY be applied to any programming language that supports the notion of 'classes and properties'. Including C++, C#, VB.Net, Javascript or PHP.

We will start the course with a brief introduction. Then dive into understanding exactly what the terms 'Abstraction', 'Encapsulation', 'Inheritance', 'Poly-morphism', 'Association',  'Aggregation' and 'Composition' really mean. Next, we will take a look at these concepts in action with some simple examples. And how easy it can be to adopt a good programming style from the start.

Delivered using HD Video, PDF, lecture and code samples (c# projects provided), this course will give you the knowledge and skills needed to put these concepts into practice and become a better developer today!

This course is designed to be a comprehensive introduction and should require about 1-2hrs viewing time, plus an equal amount of time if you wish to code the samples yourself (optional).

Backed by the Udemy 30 day money back guarantee, this course will be yours for life!

So, If you are looking to revise for an exam or interview, improve you coding style, get that new job or just understand the concepts used by professionals today then this course is for you.

If you need to know why 'Code Re-Use and Recycling' is important. Or how 'Good Design reduces flaws' and how 'an Object Oriented Program is much easier to modify and maintain than a non-Object Oriented Program' then this course is for you.

Simply click the 'Take this class' button today to get the skills that you deserve.

I look forwards to seeing you on the inside...

Who this course is for:
  • This course is meant for new programmers, regardless of language, who are NOT familiar with the concepts of Object Oriented Programming and for intermediate students looking for a quick refresher on OOP. Although this course is taught in C#.Net, all concepts are equally applicable to VB.Net, Java, Javascript etc. This course is probably not for you if you are looking for software architecture guidelines, or advanced software engineering principles.