Inheritance in OOP

আজাইরা থাকতে থাকতে হটাত্‌ মনে হইল অনেক দিন প্যানর প্যানর করা হয়। তাই চলে আসলাম আবার আমার দুনিয়ায়। আজকে আমি OOP এর Inheritance নিয়া কিছু কথা বলব। পুরাটাই বাংলায় লিখতে পারতাম,কিন্তু কতিপয় STUDENT দের আবার exam এ বাংলা লেখতে পারবে না বলে tutorial টা ইংরেজিতে দিয়া দিলাম।
এখন আসি আসল কথায়…………………।

Base-Class Access Control
When a class inherits another,the members of the base class become members of the derived class.
Class inherits uses the general form:
[code]
class derived-class:access base-class{
//body of class
};
[/code]

The access status of the base class’s members inside the derived class is determined by the access.
There are three types of access specifier.They are public,private and protected. If no access specifier is present, the access specifier is by default private.

When the access specifier for a base class is public, all public members of the base class become public members of the derived class and all protected members of the base become protected members of the derived class.

In all cases,the base’s private members remain private for the derived class and are not accessible by members of derived class.

When the access specifier for a base class is private, all public and protected members of the base class become private members of the derived class.

When the access specifier for a base class is protected, all public and protected members of the base class become protected members of the derived class.

See example from your text books for the better conception.

TLE খাওয়া একজন পথিক এর গল্প

Online programming করার জন্য track your progress এ থাকা হয় সবসময়। আমরা কয়েকজন যেমন অনিক শোভন আর আমি chatting করতাম। যাই হোক, ওদিকে যাইয়া লাভ নাই।কিছুদিন Uva onlinejudge তে problem solve করতাম। আমি মাঝখানে বাদ দিয়া দিলাম।কিন্তু ওরা চালাইয়া গেল আর এক এক জন বস হইয়া গেল। আমি টানা ৩-৪ মাস পর ওইদিন আবার Felix Halim ভাইয়ের সাইট টাতে ঢুকে দেখলাম অনিক শোভন কে বলছে, ভাই,১০০৮৩ নাম্বার এর জন্য কোন শর্টকাট নাই।মানুয়ালি করতে হবে। আমি ভাবলাম,অনেকদিন problem solve করা হয় না। এইটা try করি। দেখলাম problem টা Big Number এর। তাই JAVA এর BigInteger এর class ব্যবহার করে solve করে ফেললাম। কিন্তু TLE খাইলাম। এইবার নিজে optimize করার চেষ্টা করলাম।অনেক টাই করলাম।কিন্তু লাভ হল না। পর পর কয়েকবার TLE খাইলাম.এইত গেল প্রথম দিনের ঘটনা। পর দিন অনিক কে বললাম hints দেওয়ার জন্য। ও যা বলল ,তাতে আমি কিছু তা আশা পেলাম। মানে ওর বুদ্ধিতে কিছুটা time কমলো। যাই হক এইবার আর submit করতে পারলাম না।কারন 3rd case এ code টা infinity টে গেল। এইবার শোভন কে বললাম আমার code টা দেখে দিতে। ও কিছু condition add করতে বলল। হা,এইবার আমি খুশি,কারন ওই 3rd case এ এখন আর সমস্যা নেই। কিন্তু আবার TLE.[oh noo!!!] ওইদিন রাতে শোভন কে প্রায় ৪-৫ ঘন্টা খাটাইছি নিজের সার্থ উদ্ধারের জন্য । যাই হোক,শেষ পর্যন্ত divide() function টার কাজ manually করলে টাইম কমবে এই আসায় ওইদিন রাতে কয়েকটা TLE খাওয়ার পর খান্ত দিলাম কারন পরদিন সকালে class আছে। সকালে দেরি করে ঘুম থেকে উঠলাম। মানে class শুরুর আর মাত্র ৫ মিনিট বাকি। আমি dress up করে roommate এর হাতে খাতা টা দিয়ে বললাম class এ চলে যেতে। আমি ব্রাশ নিয়ে দাত মাজতে মাজতে ৩ তালা থেকে নিচে নেমে মুখ ধুয়ে ব্রাশ টা পকেট এ রেখে দৌড় দিয়ে class এ যাই।খুব বেশি দেরী হয় নি। এইবার আসল কথায় আসি, ফেলিক্স হালিম ভাইয়ের ওই সাইট তাতে post দিলাম আমার সমস্যা নিয়ে। nhahtdh আমাকে Reply দিলেন । উনি আমাকে যা করতে বললেন তা আমি আগেই করে রেখেছি। তারপর উনি নিজে solve করে ৩ বার TLE,2 বার WA খাওয়ার পর finally Accepted এর মুখ দেখলেন।দেখা গেল আমি শুধু মাত্র একটা check না করার জন্য TLE খাচ্ছিলাম। ঠিক করলাম। ৩ দিন পর Accepted নামক বাস্তটার মুখ দেখলাম।

মজার ব্যপার যা ঘটল,তা হচ্ছে আমার code টা nhahtdh ভাইয়ের থেকে ৫০% কম সময়ে output দিচ্ছিল। পরে অবশ্য উনি সমস্যা খুজে বের করেচ্ছিলেন উনার code এর।
এই ৩ দিনে আমার অর্জনঃ
2 টা WA ,
3 টা RE,
2 টা CE
9 টা TLE
logarithm ব্যবহার করে division জানতাম না আগে।।এইটা শিখে ফেললাম।
C++ এর String এ যা JAAN ভাইয়ের BigNumber এর যা code ছিল টা জ়াভা টে convert করে ফেললাম।
যদিও এই ২টার কোনটাই এইটায় লাগে নাই।

অবশেষে বাংলা-English এর মিশ্রণ এর জন্য খুবই দুঃখিত।