Skip to main content
CF

Practical Object Oriented Programming

3h 28m 58s
English
Paid

Discover the power of Object Oriented Programming (OOP) with a hands-on approach. Finish your journey by building a functional todo application, consolidating the concepts you've learned.

Course Overview

This course offers a comprehensive introduction to OOP principles, emphasizing practical application throughout the learning process. Ideal for beginners and intermediate programmers.

What You'll Learn

  • Core Concepts: Encapsulation, Inheritance, Polymorphism, and Abstraction.
  • Design Patterns: An introduction to common design patterns used in OOP.
  • Hands-On Project: Build a todo application from scratch, implementing OOP techniques.

Course Structure

  1. Introduction to OOP
    • Key Principles and Benefits
    • Setting Up Your Development Environment
  2. Diving Deeper into OOP
    • Understanding Classes and Objects
    • Mastering Inheritance and Composition
  3. Project: Todo Application
    • Project Setup and Initial Layout
    • Implementing OOP Concepts
    • Final Touches and Deployment

Target Audience

This course is designed for those who are new to Object Oriented Programming and seasoned developers looking to refresh their skills with practical projects.

About the Author: Codecourse

Codecourse thumbnail

Codecourse is a UK-based PHP / Laravel video tutorial platform founded by Alex Garrett in 2015. The platform is one of the longer-running independent Laravel education sources and has built a substantial catalog of focused screencasts on the framework and its surrounding ecosystem.

The course catalog covers Laravel in depth (the framework's evolution from version 5 through current), Vue.js (often paired with Laravel for full-stack work), Inertia.js, Livewire, the testing tracks (Pest, PHPUnit), Laravel package development, the deployment side (Forge, Vapor), and a long list of focused topic series. Material is screencast-format, typically broken into 3-7 minute focused lessons.

The CourseFlix listing under this source carries 10 Codecourse courses spanning that range. Material is paid; Codecourse runs on a monthly / annual subscription on the original platform. Courses are aimed at PHP developers building production Laravel applications.

Watch Online 22 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 22 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Classes, methods and properties
All Course Lessons (22)
#Lesson TitleDurationAccess
1
Classes, methods and properties Demo
07:46
2
var_dump is your friend
02:15
3
Getters and setters
09:50
4
Encapsulation
08:00
5
Inheritance
13:32
6
Class files
04:41
7
Autoloading, PSR-4 and Composer
17:12
8
Interfaces
09:57
9
Abstract methods
06:35
10
Typehinting
13:47
11
Static properties and methods
09:05
12
Traits
10:48
13
Exceptions
12:50
14
Dependency Injection
10:13
15
Method chaining
07:26
16
Introduction
06:27
17
Autoloading and structure
02:44
18
Creating the task model
09:19
19
Database and models
09:02
20
Task storage
21:37
21
Refactoring task storage
03:57
22
The task manager
11:55
Unlock unlimited learning

Get instant access to all 21 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this course?
The course is designed for both beginners and intermediate programmers. While there are no strict prerequisites, having a basic understanding of programming concepts such as variables, control structures, and functions would be beneficial for participants to get the most out of the course.
What will I build in the hands-on project?
Participants will build a functional todo application from scratch. This project will allow learners to implement core OOP concepts such as encapsulation, inheritance, and polymorphism. The project includes setting up the initial layout, implementing OOP techniques, and final touches leading to deployment.
How does this course compare in depth and scope to other courses on Object Oriented Programming?
This course focuses on practical application by integrating theoretical concepts with a hands-on project. It covers core OOP principles such as encapsulation, inheritance, polymorphism, and abstraction, as well as an introduction to design patterns. This makes it suitable for those looking to understand both the theory and practice of OOP, unlike some courses that may focus solely on theoretical aspects.
What specific tools or platforms will I use in this course?
Students will use tools such as Composer for autoloading and PSR-4 for code organization. The course also covers topics like typehinting and static properties and methods, which are essential for modern PHP development. These tools and concepts are integrated into building the todo application, providing a practical understanding of their use.
What is not covered in this course?
While the course provides a strong foundation in Object Oriented Programming, it does not cover advanced topics such as multi-threading, advanced design patterns beyond the introductory level, or specific framework integrations like Laravel or Symfony. The focus remains on core OOP principles and their application to a single project.
How much time should I expect to commit to this course?
The course consists of 22 lessons. Although the exact runtime is not specified, students should anticipate spending time on both theoretical lessons and the practical project. Allocating several hours per week to review lessons and work on the todo application project will help ensure a solid understanding of the material.
Will the skills learned in this course be applicable to other programming languages or careers?
Yes, the Object Oriented Programming principles taught in this course are applicable across many programming languages, including Java, C#, and Python. Understanding encapsulation, inheritance, and polymorphism can be beneficial in various software development careers and enhance your ability to work with OOP in different contexts.