جاوا میں پولیمورفزم: طریقوں کو اوورلوڈ یا اوور رائیڈ کرنے کا طریقہ۔

جاوا میں پولیمورفزم: طریقوں کو اوورلوڈ یا اوور رائیڈ کرنے کا طریقہ۔

طریقہ اوورلوڈنگ اور اوور رائیڈنگ دو طریقے ہیں جن میں جاوا پولیمورفزم کا مظاہرہ کرتا ہے۔ پولیمورفزم دو یونانی الفاظ کے امتزاج سے آیا ہے: 'پولی' کے معنی بہت سے اور 'مورف' کے معنی ہیں۔ لہذا ، پولیمورفزم طریقوں کو کئی شکلوں میں لینے کے قابل بناتا ہے۔





جاوا میں طریقوں کو اوورلوڈ یا اوور رائیڈ کرنے کا طریقہ سیکھنے کے لیے اس گائیڈ پر عمل کریں۔





طریقہ اوورلوڈنگ کیا ہے؟

'میتھڈ اوورلوڈنگ' سے مراد ایک ہی نام والی کلاس میں مختلف طریقوں کی وضاحت کرنا ہے۔ طریقوں پر مختلف دستخط ہونے چاہئیں۔ ایک طریقہ دستخط ایک طریقہ کے نام اور پیرامیٹر کی فہرست کا مجموعہ ہے۔ اس میں واپسی کی قسم شامل نہیں ہے۔





مرتب کرنے والا جانتا ہے کہ کون سا طریقہ استعمال کرنا ہے جس کی قسم ، پیرامیٹرز کی تعداد ، اور جس ترتیب میں انہیں رکھا گیا ہے۔

متعلقہ: جاوا پروگرامنگ زبان میں وراثت کی تلاش



طریقہ اوورلوڈنگ کمپائل ٹائم پولیمورفزم کو ظاہر کرتا ہے۔ کمپائل ٹائم پولیمورفزم کا مطلب ہے کہ جاوا کمپائلر کسی چیز کو رن ٹائم کے وقت اس کی فعالیت سے باندھتا ہے۔ اس کو حاصل کرنے کے لیے مرتب کرنے والے طریقہ کار کے دستخط چیک کرتا ہے۔

اس قسم کی پولیمورفزم کو جامد یا ابتدائی پابند کے نام سے بھی جانا جاتا ہے۔





اوورلوڈنگ کا طریقہ ذیل میں ملاحظہ کریں:

class Arithmetic{
int cube(int x){
return x*x*x;
}
double cube(double x){
return x*x*x;
}
float cube(float x){
return x*x*x;
}
public static void main(String[] args){
Arithmetic myMultiplication = new Arithmetic();
System.out.println('The cube of 5 is ' + myMultiplication.cube(5));
System.out.println('The cube of 5.0 is ' + myMultiplication.cube(5.0));
System.out.println('The cube of 0.5 is ' + myMultiplication.cube(0.5));
}
}

آؤٹ پٹ:





The cube of 5 is 125
The cube of 5.0 is 125.0
The cube of 0.5 is 0.125

مندرجہ بالا کوڈ ظاہر کرتا ہے کہ آپ مختلف اقسام کا کیوب کیسے حاصل کر سکتے ہیں ( int ، دگنا ، تیرنا ) ایک ہی طریقہ استعمال کرتے ہوئے۔

عام طور پر ، طریقہ کار اوورلوڈنگ مختلف پیرامیٹر اقسام کے ساتھ ملتے جلتے طریقوں کی وضاحت کے لیے استعمال ہوتا ہے۔

طریقہ اوور رائیڈنگ کیا ہے؟

اس سے مراد ذیلی کلاس میں کسی طریقہ کار کا مختلف نفاذ ہے۔ طریقہ کار پہلے ہی والدین کی کلاس میں بیان کیا جا چکا ہو گا۔

اوور رائیڈنگ طریقہ (یعنی سب کلاس میں ایک) کے پاس وہی طریقہ دستخط ہونا چاہیے جیسا کہ سپر کلاس میں ہے۔ اوور رائیڈنگ طریقہ کار کی واپسی کی قسم ایک ہی ہو سکتی ہے یا سپر کلاس میں سے ایک کی ذیلی قسم۔

اوور رائیڈنگ عام طور پر ذیلی کلاس میں کسی شے کے رویے کے مخصوص نفاذ کو شامل کرنے کے لیے استعمال ہوتی ہے۔

class Account{
public void message() {
System.out.println('
Thank you for opening an account with us!');
}
public static void main(String args[]) {
Account myAccount = new Account();
Savings mySavings = new Savings();
FixedDeposit myFixedDepo = new FixedDeposit();
myAccount.message();
mySavings.message();
myFixedDepo.message();
}
}
class Savings extends Account {
public void message() {
System.out.println('
Thank you for opening a Savings account with us!');
}
}
class FixedDeposit extends Account {
public void message() {
System.out.println('
Thank you for opening a Fixed Deposit account with us!');
}
}

آؤٹ پٹ:

Thank you for opening an account with us!
Thank you for opening a Savings account with us!
Thank you for opening a Fixed Deposit account with us!

مندرجہ بالا مثال سے پتہ چلتا ہے کہ طریقہ کیسے ہے۔ پیغام () ذیلی طبقات میں زیر نظر ہے۔ بچت اور معیاد مقررہ تک جمع . بچت اکاؤنٹ رکھنے والے بینک اکاؤنٹ ہولڈرز اور فکسڈ ڈپازٹ اکاؤنٹ رکھنے والوں کے لیے مختلف پیغامات دکھائے جائیں گے۔

متعلقہ: جاوا میں سٹرنگ استعمال کرنے کے بارے میں آپ کو کیا جاننے کی ضرورت ہے۔

یہ بات بھی قابل غور ہے کہ اوور رائیڈنگ کا طریقہ رن ٹائم پولیمورفزم یا ڈائنامک میتھڈ ڈسپیچ کو ظاہر کرتا ہے۔ اس کا مطلب یہ ہے کہ جس طریقے کو بلایا جائے وہ تالیف کے بجائے رن ٹائم پر حل کیا جاتا ہے۔

کسی طریقہ کو اوور رائیڈ ہونے سے بچنے کے لیے ، کلیدی لفظ استعمال کریں۔ حتمی .

final void message (){
System.out.println('
Thank you for opening an account with us!');
}

جب ایک ذیلی طبقہ اس کو اوور رائیڈ کرنے کی کوشش کرتا ہے ، تالیف کی خرابی واقع ہوگی۔

مثالی طور پر ، کنسٹرکٹر کے اندر بلایا جانے والے تمام طریقے ہونے چاہئیں۔ حتمی . یہ کسی بھی غیر ارادی تبدیلیوں سے بچنے کے لیے ہے جو کہ ذیلی طبقات کی وجہ سے ہو سکتی ہے۔

بعض اوقات ، آپ کو اوور رائیڈنگ طریقہ کے اندر ایک اوور رائیڈ طریقہ تک رسائی کی ضرورت پڑسکتی ہے۔ آپ کلیدی لفظ استعمال کر سکتے ہیں۔ سپر اس کے بعد ڈاٹ آپریٹر ( . ) اور ایسی صورت میں طریقہ کا نام۔

سپر کلاس پر غور کریں۔ جانور۔ .

class Animal{
public void move() {
System.out.println('
I can move.');
}
}

ذیل میں ایک ذیلی کلاس ہے ، جسے کہا جاتا ہے۔ مچھلی ، کہ اوور رائیڈ کرتا ہے۔ اقدام() :

class Fish extends Animal {
public void move() {
System.out.println('
I can swim.');
super.move();
}
public static void main(String args[]){
Fish Tilapia = new Fish();
Tilapia.move();
}
}

آؤٹ پٹ:

ونڈوز پر میک ہارڈ ڈرائیو دیکھیں۔
I can swim.
I can move.

جب کسی طریقہ کو اوور رائیڈ کرتے ہو تو ، آپ کو استعمال شدہ رسائی میں ترمیم کرنے والے کو بھی ذہن میں رکھنے کی ضرورت ہے۔ ذیلی کلاس میں ترمیم کرنے والے کی مرئیت کی سطح یا بیس کلاس سے زیادہ ہونی چاہیے۔ مثال کے طور پر ، اگر بیس کلاس میں طریقہ کی وضاحت کی گئی ہے۔ محفوظ ، پھر اوور رائیڈنگ کا طریقہ یا تو ہو سکتا ہے۔ محفوظ یا عوام .

پولیمورفزم کے ساتھ آسان کوڈ۔

کوڈ کو آسان بنانے کے لیے طریقہ اوور رائیڈنگ اور اوورلوڈنگ اہم ہے ، اور سادہ کوڈ اچھا عمل ہے۔

کیوں؟ ایک پیچیدہ کوڈ بیس کا تصور کریں جس میں گرینڈ سنٹرل اسٹیشن سے زیادہ ان اور آؤٹ ہیں۔ اب تصور کریں کہ ایک تباہ کن بگ آپ کی آنکھوں کے سامنے آپ کی محنت کو تباہ کرنا شروع کر دیتا ہے۔ آپ کو انفیکشن کے ماخذ کو الگ کرنے کی ضرورت ہے ، اور آپ کو اسے جلدی کرنے کی ضرورت ہے۔

خوش قسمتی ، آپ نے اپنا کوڈ آسان نہیں کیا ... اب آپ خفیہ نگاری کا ایک حقیقی سبق حاصل کرنے والے ہیں۔ مؤثر ڈیٹا سٹرکچر کو استعمال کرنا اور کوڈ کو مختصر کرنے کے لیے جو کچھ کر سکتے ہیں کرنا (جیسے DRY کو ذہن میں رکھنا) اس طرح کی صورتحال کے خلاف آپ کا بہترین دفاع ہے۔

آپ کی جاوا سیکھنے کی فہرست میں اگلا صفوں کے ساتھ کام کرنا چاہئے۔ وہ اہم ڈیٹا ڈھانچے ہیں جو ڈیٹا پوائنٹس کے بیچوں کو ذخیرہ کرنے کے لیے استعمال ہوتے ہیں۔

بانٹیں بانٹیں ٹویٹ ای میل۔ جاوا میں Arrays پر آپریشن بنانے اور انجام دینے کا طریقہ

جاوا سیکھنا؟ صفوں کو آسانی سے آپ کے ڈیٹا کو سنبھالنے دیں۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • جاوا
  • کوڈنگ ٹیوٹوریل
مصنف کے بارے میں جیروم ڈیوڈسن۔(22 مضامین شائع ہوئے)

جیروم MakeUseOf میں سٹاف رائٹر ہیں۔ وہ پروگرامنگ اور لینکس پر مضامین کا احاطہ کرتا ہے۔ وہ کرپٹو کے شوقین بھی ہیں اور ہمیشہ کرپٹو انڈسٹری پر نظر رکھتے ہیں۔

جیروم ڈیوڈسن سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔