About this Lecture
Section: Polymorphism • Size: 17.88 MB • Duration: 8m
Course Summary
Advanced OOP with Python course. Beyond the basics. This course teaches object-oriented design in Python beyond the intermediate level. This course will strengthen and deepen your knowledge of classes, objects, inheritance and polymorphism. You will learn many details of Python’s class and object-specific implementations, including construction, overriding, and overloading. Do lots of exercises that allow you to practice common OOP tasks. Developers who especially benefit from this course include:
Python developers who have learned the basics of OOP and want to delve deeper into the mechanics of OOP in Python.
Developers who bring experience from another OO programming language and want to learn how to use OOP in Python
Self-taught OOP developers who want to improve their skills by learning best practices
Students interested in this course often know the basic features of OOP but are not yet aware of Python’s unique language features that allow them to work in an object-oriented Pythonic way. This can lead to verbose or inefficient code. My goal is to teach you the up-to-date and preferred ways of working with OOP in Python and to make your code structured and maintainable. What can you do after this course?
Make better decisions about when and how to use OOP features in your code
Create more efficient classes by integrating Python’s built-in language features
Embrace Python’s dynamic character by using structured type checking
subjects
Classes and objects: class instantiation, self, data properties, UML, methods, __str__, __repr__, constructor
Inheritance: methods of inheritance, extension and override, access to the base class through the super base class, abstract
OOP in a dynamic language: dynamic typing, static type checking, overloading
Polymorphism: open-closed principle, type equality, interfaces and protocols
Encapsulation: attribute view. Misappropriation name, properties
Classes in Python: class as object, class variables, class and static methods.