Published 12/2024
Created by Danny Adams
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz, 2 Ch
Level: Expert | Genre: eLearning | Language: English | Duration: 89 Lectures ( 6h 44m ) | Size: 3.21 GB
Everything you need to develop great object oriented software. Classes, objects, polymorphism, SOLID, Design Patterns…
What you’ll learn
Go from complete OOP beginner to being confident and ready to get a job working on OOP software
Learn the basics of OOP: creating classes, objects, attributes, methods, access modifiers, abstract classes, getters & setters, properties, static attributes…
Understand crucial OOP concepts with examples: encapsulation, abstraction, inheritance, polymorphism, coupling, composition, dependency injection
The five SOLID principles show you how to assign responsibilities to classes and manage relationships between them
The “Gang of Four” Design Patterns: proven solutions to recurring problems in software design, so you don’t have to reinvent the wheel
Unified Modelling Language (UML) for visually modelling classes and the relationships between them in a standardised way
Requirements
Just the very basics of Python: variables, functions, if statements, for loops.
You need no knowledge of object-oriented programming to take this course. I will teach you from the very basics to an advanced level.
Description
This course is for Python developers, of any level, that want to learn everything needed to write elegant, organised, maintainable object-oriented software.Object-oriented programming (OOP) can be confusing for beginners. Most Python courses just teach you about classes, objects, fields and methods – without teaching the crucial concepts that show why organising software in this way is so powerful.Python developers often then go on to work on object-oriented software, such as web applications built with Django, without having any clue of how to organise their code. This leads to software that is a nightmare to maintain, as adding new features often requires you to make breaking changes to existing working and tested code.I created this course with the goal to demystify OOP for Python developers. Through clear explanations and real-world examples, we will explore essential OOP concepts such as encapsulation, abstraction, polymorphism, composition, inheritance, dependency injection, UML, SOLID principles, and design patterns — giving you everything that you need to develop great, maintainable and elegant object oriented software.What you will learnThe first part of the course assumes that you’re a complete OOP beginner, and introduces the very fundamentals of OOP: classes and objects, attributes and methods, access modifiers, static attributes and static methods, properties vs getters and setters. By the end of this section, you’ll have the tools to write and understand object-oriented software…But tools alone aren’t enough! Writing great software requires understanding the principles that help you organise your code effectively. The rest of the course focuses on these time-tested principles, teaching you how to think, refactor, and communicate about well-designed, maintainable, and extendable OOP software. Each concept is introduced with an example that first violates the principle, followed by a discussion of the issues and a refactored solution — helping you to really understand the principle and its applications.Section Two covers the foundational OOP principles you’ll use throughout the rest of your career: encapsulation, abstraction, inheritance, polymorphism, coupling, composition (and its advantages over inheritance), and the fragile base class problem.Section Three introduces Unified Modelling Language (UML) to visually model classes and objects, and the relationships between them in a standardised way.Section Four dives into the SOLID principles, building on the concepts from Section Two. This section will deepen your understanding of how to assign responsibilities to classes and manage relationships between them.Section Five introduces the “Gang of Four” design patterns. These patterns provide proven solutions to recurring problems in software design, reinforcing everything you’ve learned in the course. You will learn six useful design patterns: State Pattern, Observer Pattern, Facade Pattern, Adapter Pattern, Prototype Pattern and Abstract Factory Pattern.By the end of this course, you’ll have the knowledge and confidence to write OOP code that is clean, scalable, and maintainable.
Password/解压密码www.tbtos.com
转载请注明:0daytown » Python OOP: Object Oriented Programming From Beginner to Pro