Python OOPS and Design Patterns

Course Content

OOPS Concepts - Encapsulation, Data Hiding, Abstraction, Inheritance , Polymorphism, Classes, object , instance, Instantiation, Attributes, Member variables and Methods, operation, Operation, Interaction, Messages, Link , Method, context, sequencing, Navigability, Transient Object, Multiplicity, Coupling and cohesion, Object Copying and Cloning, Access Modifiers, Implementation - OOPS, Classes and Objects, Constructors and Destructors, User Defined Classes, Default Attributes and Methods, Overloading and overriding methods, Class method , static method and Descriptors, Properties to control Attribute Access, Encapsulation and Intercepting Attribute Access

Inheritance - Extending existing classes

Multiple Inheritance and Interfaces , Interface Techniques:: (Super, Inheritor, Replacer, Extender and Provider), Types of Classes – Super class, Abstract Classes, private class, Final Class, Inner Class, Anonymous Class, Specializing Inherited Methods

More on OOPs

Emulating Privacy for Instance Attributes, Function Interfaces and Callback-Based Code, Marker Interface , Immutable Objects, Boxing & Un Boxing , Object wrappers and Messages, Extending Types by Embedding and by Sub classing, Pseudo private Class Attributes, New-Style Classes and Extensions

Diamond Inheritance

Explicit conflict resolution and Instance slots, New _ _get attribute_ _ overloading method, Custom Collection Classes (Aggregation ), Iterators, Decorators, Generators & Context Manager

Modules and Packages

Implementation Design Patterns:

Has a" relationships Generalization Realization Singleton Association Composition Aggregation Dependency Specialization Responsibility Introspection Factory Method and Abstract Factory Classes

Project Implementation