JavaRush /جاوا بلاگ /Random-UR /انٹرفیس کی ضرورت کیوں ہے؟

انٹرفیس کی ضرورت کیوں ہے؟

گروپ میں شائع ہوا۔
انٹرفیس کی ضرورت کیوں ہے؟ انٹرفیس وراثت کیوں ضروری ہے؟ پولیمورفزم کی ضرورت کیوں ہے؟ ان لوگوں کے لیے جنہوں نے انٹرفیس بنانے کا طریقہ پڑھا اور سمجھا لیکن کیوں نہیں سمجھا۔

دستبرداری: اس مضمون اور اس کے بعد کے مضامین میں، کلاسوں اور طریقوں کے نام روسی زبان میں دیے جائیں گے۔

جب بات آبجیکٹ اورینٹڈ پروگرامنگ (OOP) کے اصولوں کی ہو: پولیمورفزم، وراثت، اور encapsulation، تو حقیقی دنیا کی تشبیہات استعمال کرنا مفید ہے۔ OOP کا بڑا فائدہ یہ ہے کہ ہم پروگرام میں حقیقی کائنات کے کچھ حصے کی نقل کر سکتے ہیں۔ آئیے ایوانوف فیملی کا ماڈل بنائیں: والد ، ماں اور لڑکا پیٹیا ۔ والد سے ، پیٹیا کو چائے پیتے وقت تھپڑ مارنے کی عادت وراثت میں ملی، اور ماں سے، اسے پڑھتے ہوئے ہونٹوں کو دبانے کی عادت وراثت میں ملی۔ اگر ہم اس صورت حال کو ایک پروگرام میں نافذ کرنے کی کوشش کرتے ہیں، تو ہم تین طبقات کے ساتھ ختم ہوں گے:
class Папа
class Мама
class Петя
والد اور ماں کی عادات ہیں جو پیٹ کو منتقل کرنے کی ضرورت ہے ۔ عادات کسی نہ کسی طرح کی حرکتیں ہیں - اس لیے سافٹ ویئر کی دنیا میں ان کو طریقوں کے طور پر نافذ کرنا بہتر ہے: Dad First :
class Папа {
public void прихлюпывать() {
System.out.println("Хлюп");
    }
}
اب ماں :
class Мама {
public void поджимать() {
System.out.println("Поджать губки");
   }
}
اگر ہم وراثت کے بارے میں بات کر رہے ہیں، تو کوڈ کو اس طرح لکھنا منطقی ہے:
class Петя extends Папа, Мама {
@Override
public void прихлюпывать() {
     System.out.println("Хлюп");
   }

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
یعنی پیٹیا کو ایک ہی وقت میں والد اور ماں سے وراثت میں لینا۔ اگر آپ اسے اس طرح لکھتے ہیں تو کمپائلر شکایت کرے گا، کیونکہ جاوا میں آپ ایک سے زیادہ کلاس وراثت کو نافذ نہیں کر سکتے۔ ویسے، یہ C++ میں ممکن ہے، لیکن جاوا میں نہیں، کیونکہ ایک سے زیادہ وراثت سے بڑے مسائل پیدا ہو سکتے ہیں: وہ انٹرنیٹ پر تفصیل سے لکھتے ہیں ۔ انٹرفیس کی ضرورت کیوں ہے؟  - 1اس "ناممکن" کو حاصل کرنے کے لیے، جاوا کے پاس انٹرفیس ہیں۔ اور عادات کے لیے ہم اپنے انٹرفیس کے ساتھ آئیں گے۔ یہاں تک کہ دو: وہ اس طرح نظر آئیں گے:
public interface ПривычкиПапы {
    public void прихлюпывать();
}
public interface ПривычкиМамы {
    public void поджимать();
}
انٹرفیس میں، ہم نے صرف عادات کو بیان کیا، لیکن یہ نہیں بتایا کہ وہ خاص طور پر کیا کرتی ہیں، کیونکہ ہم کلاسوں میں مخصوص نفاذ کو لکھیں گے۔ پہلے، آئیے والد اور ماں کو ان کی قانونی عادات دیں۔
class Папа implements ПривычкиПапы {

   @Override
    public void прихлюпывать() {
     System.out.println("Хлюп");
   }
}

class Мама implements ПривычкиМамы{

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
اور اب، ایک ہی وقت میں والد اور ماں سے پیٹ میں عادات کو منتقل کرنا بالکل قانونی ہے۔
class Петя implements ПривычкиПапы, ПривычкиМамы {

@Override
public void прихлюпывать() {
     System.out.println("Хлюп");
   }

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
یعنی جاوا میں ایک سے زیادہ نفاذ (اکثر عمل درآمد کہا جاتا ہے) کافی ممکن ہے۔ انٹرفیس کی ضرورت کیوں ہے؟  - 2انٹرفیس کا مطلب اب واضح ہونا چاہئے - جاوا میں، آپ انٹرفیس کا استعمال کرتے ہوئے متعدد وراثت کو نافذ کرسکتے ہیں۔ اگر ہم صورت حال کو مزید ترقی دیتے ہیں، مثال کے طور پر: سب کے بعد، والد اور ماں کی شاید ایسی عادتیں ہیں جو انہوں نے پیٹیا کو نہیں دی تھیں ، اور پیٹیا کی اپنی ذاتی عادتیں بھی ہو سکتی ہیں۔ آپ مندرجہ ذیل اقساط میں سیکھیں گے کہ اس اہم سانتا باربرا کو جاوا طیارے میں کیسے منتقل کیا جائے۔ انٹرفیس کو سمجھنے کے لیے یہ واحد مثال نہیں ہے۔ اگر آپ نے درج ذیل مضامین نہیں پڑھے ہیں، تو ضرور پڑھیں: جاوا میں انٹرفیسز (اگر نہیں کھلے ہیں، تو آپ اپنے پروفائل سے باہر نکل سکتے ہیں یا پوشیدگی وضع میں پڑھ سکتے ہیں) انٹرفیس کی ضرورت کیوں ہے جاوا - آرٹیکل کی تمام مثالوں کو یہاں نافذ کریں اور طریقوں کو انٹرفیس اور کلاسز دونوں میں تبدیل کریں: طریقوں کے نام، دستخط (جو طریقہ ان پٹ کے طور پر لیتا ہے)، طریقوں کی آؤٹ پٹ اقسام۔ اپنے طور پر سمجھیں: - کلاس اور تجریدی کلاس کے ساتھ انٹرفیس کو لاگو کرتے وقت فرق؛ - پہلے سے طے شدہ طریقے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION