Code Monkey home page Code Monkey logo

ccobjpgl-py's Introduction

💫 CCOBJPGL-PY 

CCOBJPGL-PY - Object-Oriented Programming in Python

This repository contains all of the python code implementations of each topic in the course outline for object oriented programming.

Table

Folder Name Topic
week_1-2 Review of OOP Basics (Encapsulation, Inheritance, Polymorphism)
week_3 Forms of Inheritance
week_4 Programming by Contract
week_5 Subtyping versus Subclassing
week_6 Double dispatch
week_7 Multiple Inheritance
week_8-9 Formal Models of OOP System (Unified modeling language and formal specification languages)
week_10-13 Design Patterns (Creational, Structural, Behavioral, Model-View-Controller)

Object-Oriented Programming in Python

This repository contains all of the Python code implementations for each topic covered in the course outline for Object-Oriented Programming.

Table of Contents

🔭 Introduction

This repository contains all of the python code implementations of each topic in the course outline for object oriented programming.

💻 Lesson 

Lesson: Review of OOP Basics (Encapsulation, Inheritance, Polymorphism)

In this lesson, review the fundamental concepts of object-oriented programming, including encapsulation, inheritance, and polymorphism. Explain how these concepts are used to create modular and reusable code.

Lesson: Forms of Inheritance

In this lesson, explore different forms of inheritance, such as single inheritance, multiple inheritance, and multi-level inheritance. Discuss the advantages and considerations of each form and provide examples to illustrate their usage.

Lesson: Programming by Contract

In this lesson, introduce the concept of programming by contract. Explain how preconditions, postconditions, and invariants can be used to define and enforce the behavior of classes and methods. Provide examples to demonstrate the use of programming by contract in Python.

Lesson: Subtyping versus Subclassing

In this lesson, discuss the difference between subtyping and subclassing. Explain how subtyping allows objects of different classes to be used interchangeably based on their shared behavior, while subclassing involves creating a new class that inherits from a base class. Provide examples to illustrate the concepts.

Lesson: Double Dispatch 

In this lesson, explain the concept of double dispatch and its use in object-oriented programming. Discuss how double dispatch allows the selection of a method to be based on the runtime types of two objects. Provide examples to demonstrate the implementation of double dispatch in Python.

Lesson: Multiple Inheritance 

In this lesson, explore the concept of multiple inheritance and its implications. Discuss how multiple inheritance allows a class to inherit from multiple parent classes, and how method resolution order (MRO) is determined. Provide examples to illustrate the use of multiple inheritance in Python.

Lesson: Formal Models of OOP System (Unified Modeling Language and Formal Specification Languages)

In this lesson, introduce formal models of object-oriented programming systems, such as the Unified Modeling Language (UML) and formal specification languages. Explain how UML can be used to model classes, relationships, and behavior, and how formal specification languages can be used to specify and verify the correctness of object-oriented systems.

Lesson: Design Patterns (Creational, Structural, Behavioral, Model-View-Controller)

In this lesson, discuss the concept of design patterns and their importance in object-oriented programming. Introduce different categories of design patterns, including creational, structural, behavioral, and the Model-View-Controller (MVC) pattern. Explain the characteristics and usage of each pattern and provide examples to illustrate their implementation in Python.

✍️ Exercise

Coming Soon

🏆 Contributing  

Coming Soon

🔐 License 

Coming Soon

🕵️ Acknowledgements  

Coming Soon

💬 FAQ 

Provide answers to frequently asked questions related to the course.

Coming Soon

📫 Changelog

        

💻 [5.1.4] - 2024-05-2        

Added 

  • ✨ Uploaded the Course Syllabus
  • ✨ Added breakdown and documentation

Changed

  • ✨ revised icon

Fixed  

  • ✨ Revised my documentaion

💻 [5.1.3] - 2024-05-21  

  • ✨ Added week 1 : Object and Classes
  • ✨ Added class with constructor
  • ✨ Added standard class

💻 [5.1.4] - 2024-05-28  

  • ✨ Added week 2 : Encapsulation, Inheritance, Polymorphism
  • ✨ Added Encapsulation with example code
  • ✨ Added Ihheritance with example code
  • ✨ Added Polymorphism with example code

💻 [6.1.4] - 2024-06-04   

  • ✨ Added week 3 : Forms of Inheritance
  • ✨ Coming Soon
  • ✨ Coming Soon

💻 [7.1.4] - 2024-07-05

  • ✨ Coming Soon

ccobjpgl-py's People

Contributors

flexycode avatar

Stargazers

Emil John Llanes avatar Jay avatar  avatar Flexy Zephyrus avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.