না! OOP শিখলে একবার লেখা code বারবার ব্যবহার হয়। রহিম-করিম-জাবের সবার জন্য আলাদা code লিখতে হবে না — একটা blueprint বানাও, সব কাজে লাগাও।
এই slide-এ: OOP কী, কেন দরকার, ৪টা pillar — Encapsulation, Inheritance, Polymorphism, Abstraction — বাস্তব উদাহরণে।
যেমন একটা বাড়ির নকশা। নকশা নিজে বাড়ি না — কিন্তু নকশা দিয়ে অনেক বাড়ি বানানো যায়।
একটা Class থেকে হাজারো Object বানানো যায়। প্রতিটা Object-এর নিজের data থাকে, কিন্তু behavior (কাজ করার পদ্ধতি) একই।
ভেতরের জিনিস লুকাও, বাইরে শুধু যা দরকার দাও।
যেমন: ATM-এর ভেতরে কীভাবে কাজ করে জানো না, কিন্তু
টাকা তুলতে পারো
Parent class-এর সব গুণ child-এ আসে।
যেমন: মানুষ → Student, Teacher — সবার নাম-বয়স
আছে
একই নাম, আলাদা কাজ।
যেমন: কুকুর কামড়ায়, বিড়াল আঁচড়ায় — দুজনকেই
বলা হয় "আক্রমণ করো"
জটিলটা লুকাও, সহজটা দেখাও।
যেমন: গাড়ি চালাতে engine কীভাবে কাজ করে জানতে
হয় না
ভেতরে কী আছে দেখা যায় না। কিন্তু কাজ করে। কেউ সরাসরি ভেতরে হাত দিতে পারে না।
Encapsulation মানে: validation, rules সব ভেতরে। বাইরে থেকে ভুল data দেওয়ার সুযোগ নেই।
DRY Principle: Don't Repeat Yourself। মানুষ class একবার লেখলাম — ছাত্র-শিক্ষক দুটোই পেল।
তুমি শুধু শাটার চাপো। ভেতরে কী হয়? — ISO, aperture, sensor, image processing... কিছুই জানো না। তবুও ছবি ওঠে।
হাচান গাড়ি চালায়। Engine cylinder কীভাবে কাজ করে? জানে না। স্টিয়ারিং, গ্যাস, ব্রেক — ব্যস। বাকিটা hidden।
OOP হলো programming-এর ভাষা — বাস্তব জগতকে code-এ রূপান্তরের কৌশল। শিখলে সব বড় framework (React, Angular, NestJS, Spring) সহজ হয়ে যাবে।