diff --git a/oop/code/README.md b/oop/code/README.md new file mode 100644 index 0000000..4a7f525 --- /dev/null +++ b/oop/code/README.md @@ -0,0 +1,24 @@ +# Code snippets across topics + +## Bank transfers in procedural and object-oriented programming +* [Procedural programming](../code/procedural_transfer.py) +* [Object-oriented programming](oop/src/main/java/com/scaler/lld/basics/OopBankAccount.java) +* [Unit test](oop/src/test/java/com/scaler/lld/basics/OopBankAccountTest.java) + +## Object-oriented programming +### Encapsulation +* [Default constructor](https://github.com/kanmaytacker/fundamentals/blob/oop-default-ctor/oop/code/oop/src/main/java/com/scaler/lld/scaler/Student.java) + * [Unit test](https://github.com/kanmaytacker/fundamentals/blob/oop-default-ctor/oop/code/oop/src/test/java/com/scaler/lld/scaler/StudentTest.java) +* [Parametrised constructor](https://github.com/kanmaytacker/fundamentals/blob/oop-para-ctor/oop/code/oop/src/main/java/com/scaler/lld/scaler/Student.java) + * [Unit test](https://github.com/kanmaytacker/fundamentals/blob/oop-para-ctor/oop/code/oop/src/test/java/com/scaler/lld/scaler/StudentTest.java) + +### Inheritance +* [User - Parent class](https://github.com/kanmaytacker/fundamentals/blob/oop-inheritance/oop/code/oop/src/test/java/com/scaler/lld/scaler/StudentTest.java) +* [Student - Child class](https://github.com/kanmaytacker/fundamentals/blob/oop-inheritance/oop/code/oop/src/main/java/com/scaler/lld/scaler/Student.java) +* [Unit Test](https://github.com/kanmaytacker/fundamentals/blob/oop-inheritance/oop/code/oop/src/test/java/com/scaler/lld/scaler/StudentTest.java) + +### Polymorphism +* [Mentor class](https://github.com/kanmaytacker/fundamentals/tree/master/oop/code/oop/src/main/java/com/scaler/lld/scaler) +* [Subtyping - Mentor and Student as User](https://github.com/kanmaytacker/fundamentals/blob/master/oop/code/oop/src/main/java/com/scaler/lld/App.java#L18) +* [Method overloading - `printInfo`](https://github.com/kanmaytacker/fundamentals/blob/master/oop/code/oop/src/main/java/com/scaler/lld/scaler/User.java#L26-L31) +* [Method overriding - Overriding `printInfo` in Student](https://github.com/kanmaytacker/fundamentals/blob/master/oop/code/oop/src/main/java/com/scaler/lld/scaler/Student.java#L34)