# Object Oriented Programming A short introduction to object oriented programming with examples in multiple languages Example Languages: - Java - Rust - C++ - JavaScript (using TypeScript) Lessons: - [instanciating objects, accessing attributes and methods](./lessons/Instances.md) - [creating a class](./lessons/Classes.md) - [constructors](./lessons/Constructors.md) - [encapsulation](./lessons/Encapsulation.md) - [inheritance](./lessons/Inheritance.md) - [properties](./lessons/Properties.md) - [polymorphism](./lessons/Polymorphism.md) Work in progress: - virtual classes - interfaces - Factories - Generics