Inheritance With CPP fig: Inheritance
The capability of a class to derive properties and characteristics from another class is called Inheritance. Inheritance is one of the most important features of Object-Oriented Programming.
একটি শ্রেণির অন্য শ্রেণি থেকে বৈশিষ্ট্য ও বৈশিষ্ট্য আহরণের ক্ষমতাকে উত্তরাধিকার বলে। অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলির মধ্যে একটি হল উত্তরাধিকার।
(সহজ কথায় ইনহেরিটেন্স হচ্ছে একজন থেকে আরেকজনের সম্পত্তি কোনরকম কয় বিক্রয় ছাড়া যেটা আমরা পেয়ে থাকি ওটাই ইনহেরিটেন্স এটাকে আমরা হেরিটেজ বা উত্তরাধিকার সূত্রে পাওয়া জিনিস বলতে পারে)
Inheritance is a feature or a process in which new classes are created from the existing classes.
The new class created is called “derived class” or “child class” and the existing class is known as
the “base class” or “parent class”. The derived class now is said to be inherited from the base class.
ইনহেরিটেন্স হল একটি বৈশিষ্ট্য বা একটি প্রক্রিয়া যেখানে বিদ্যমান ক্লাস থেকে নতুন ক্লাস তৈরি করা হয়।
তৈরি করা নতুন ক্লাসটিকে বলা হয় "ডিরিভড ক্লাস(sub-class)" বা "চাইল্ড ক্লাস"
এবং বিদ্যমান ক্লাসটি "বেস ক্লাস" বা "প্যারেন্ট ক্লাস" নামে পরিচিত।
এখন আমরা প্রাপ্ত বর্গ কে ইনহেরিটেন্স বলতে পারি.
This article following below the instruction:-
এই আর্টিকেলটি নিচের নির্দেশাবলী অনুসরণ করে :-
- Why and when to use inheritance?
- Modes of Inheritance
- Types of Inheritance
Why and when to use inheritance?
Consider a group of vehicles. You need to create classes for Bus, Car, and Truck.
The methods fuel Amount(), capacity(), apply Brakes() will be the same for all three classes.
If we create these classes avoiding inheritance then we have to write all of these functions
in each of the three classes as shown below figure:
যানবাহন একটি গ্রুপ বিবেচনা করুন.
আপনাকে বাস, গাড়ি এবং ট্রাকের জন্য ক্লাস তৈরি করতে হবে।
পদ্ধতিগুলি fuel Amount(), capacity(), apply Brakes()
তিনটি ক্লাসের জন্য একই হবে।
যদি আমরা ইনহেরিটেন্স এড়িয়ে এই ক্লাসগুলি তৈরি করি
তবে নীচের চিত্রের মতো তিনটি ক্লাসের প্রতিটিতে আমাদের এই সমস্ত ফাংশন লিখতে হবে:
you can clearly see that the above this picture results in duplication of the same code 3 times.
This increases the chances of error and data redundancy. To avoid this type of situation,
inheritance is used. If we create a class Vehicle and write these three functions in it
and inherit the rest of the classes from the vehicle class, then we can simply avoid
the duplication of data and increase re-usability. Look at the below diagram in which
the three classes are inherited from vehicle class
আপনি স্পষ্ট দেখতে পাচ্ছেন যে উপরের প্রক্রিয়াটির ফলে একই কোড 3 বার ডুপ্লিকেশন হয়।
এটি ত্রুটি এবং ডেটা রিডানডেন্সির সম্ভাবনা বাড়ায়। এই ধরনের পরিস্থিতি এড়াতে,
উত্তরাধিকার(ইনহেরিটেন্স) ব্যবহার করা হয়। আমরা যদি একটি ক্লাস Vehicle তৈরি করি
এবং এতে এই তিনটি ফাংশন লিখি এবং গাড়ির ক্লাস থেকে বাকি ক্লাসগুলিকে
উত্তরাধিকার(ইনহেরিটেন্স) সূত্রে প্রাপ্ত করি, তাহলে আমরা কেবল ডেটার নকল এড়াতে পারি
Implementing inheritance in CPP: For creating a sub-class that is inherited from
the base class we have to follow the below syntax.
Syntax:
class<derived(sub class)_class_name> : <access> <base>
{
/*logick*\
}
Here
class => keyword to create a new class
derived(sub class)_class_name=>name of the new class,
which will inherit the base class
access=> acces of private data, public or protected data.
Private data is taken as default
base=> name of the base class
Note: A derived class doesn’t inherit access to private data.
it does inherit a full parent object, which contains any private members
which that class declares.
above this example ,you can see the ‘Child’ class is publicly inherited from the ‘Parent’ class so
the public data members of the class ‘Parent’ will also be inherited by the class Child
উপরের example you can see , ‘Child’ class ',Parent’ class থেকে সর্বজনীনভাবে উত্তরাধিকারসূত্রে
প্রাপ্ত হয় তাই 'পিতামাতা' শ্রেণীর পাবলিক ডেটা সদস্যরাও Child’ class দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হবে।
Modes of Inheritance: There are 3 modes of inheritance
Types Of Inheritance:-
class subclass(derived)_name : base_class { /*subclass*\ };
class C { /*here your code*\ }; class B:public C {/*here your code*\}; class A: public B {/*here your code*\};
class subclass_name:access_mode base_class1,access_mode base_class2,....
{ /*subclass*\ };
class A { //write code } class B : public A { //write code
} class C : public A { //write code
} class D : public A { //write code
}
Comments
Post a Comment