مقدمة
جافا هي لغة موجهة نحو الكائن. كل من تعلم جافا يعلم أن التغليف والميراث وتعدد الأشكال هي الخصائص الثلاث الموجه نحو الكائن. عندما تعلم الجميع الميراث للتو ، سيكون لديهم انطباع أكثر أو أقل بأن الميراث يمكن أن يساعدني في تحقيق إعادة استخدام الطبقة. لذلك ، سيستخدم العديد من المطورين بشكل طبيعي ميراث الفصل عندما يحتاجون إلى إعادة استخدام بعض التعليمات البرمجية ، لأن هذا هو ما كتبه الكتاب (هذا ما يعلمه المعلم). ومع ذلك ، من الخطأ في الواقع القيام بذلك. الاستخدام على نطاق واسع على نطاق واسع للميراث سيؤدي إلى ارتفاع تكاليف الصيانة إلى الرمز.
في الواقع ، عندما تعلمت جافا لأول مرة ، لم أسمع قط بمجموعة المصطلح ، ولم يشرح المعلم ذلك أبدًا. اعتقدت دائمًا أنني فقدت بعض نقاط المعرفة ، لكنها لم تكن كذلك. يجب تعريف مجموعة المصطلح على أنه شيء تفكير في الوقت الحالي. أعتقد أن القراء قد اتصلوا بها ، لكنني لا أعرف أن هذا الاسم.
في الواقع ، فإن ما يسمى بمجموعة ما هو إنشاء فئة جديدة لاستدعاء فصل تم إنشاؤه وتصحيحه ، بحيث يمكن تسمية هذه الفئة الجديدة بمجموعة
على سبيل المثال ، أقوم بإنشاء شعب
الفئة العامة الناس {اسم السلسلة الخاصة ؛ عصر INT الخاص ؛ public void setName (اسم السلسلة) {this.name = name ؛ } السلسلة العامة getName () {return this.name ؛ } public int getage () {return this.age ؛ } public void setage (int age) {this.age = age ؛ }} ثم أريد استخدام هذا الفصل الآن. يمكنني إضافة بعض الميزات الجديدة إلى هذا الفصل. في هذا الوقت ، يمكننا إنشاء فصل جديد ومن ثم إنشاء كائن الأشخاص في هذا الفصل.
على سبيل المثال ، أقوم الآن بإنشاء فصل يسمى الطالب
طالب الفصل {people = new people () ؛} ثم يمكنك إضافة بعض السمات إلى هذا الفصل ، مثل تحديد هوية كطالب ، والتي لن أناقشها هنا.
بعد ذلك ، دعونا نلقي نظرة على الميراث. في الواقع ، الميراث والمجموعة متشابهة. دعونا نلقي نظرة أولاً على كيفية ورثها.
هناك كلمة رئيسية تسمى تمتد في Java ، والتي يمكن أن تساعدنا على الوراثة. نحن نسمي فئة الوالدين الفئة الموروثة ، والفئة الأساسية ، والفئة الفائقة ، والورث كلها على ما يرام ، ونحن نسمي الفئة الفرعية الموروثة أو الفئة المشتقة ، إلخ.
هنا نحدد الفصل
طالب الفصل العام يمتد الناس {// dosomething} وبهذه الطريقة ، يرث الفئة جميع أساليب الأعضاء ومتغيرات الأعضاء في فئة الأصل ، ولكن لاحظ أن الحقول أو الأساليب المعلنة كذنب خاص لن يتم ورثها.
لإثبات ذلك ، نكتب طريقة في فصل الطالب
السلسلة العامة Re () {return this.name ؛}هنا سيقوم المترجم بالإبلاغ عن خطأ "People.name غير مرئي". من هنا ، يمكننا أن نرى أن الحقول أو الأساليب التي تم إعلانها بأنها خاصة لا يمكن مورراها. إذا كنت تريد أن ترثها ، فيمكنك تغيير خاصة إلى محمية. بهذه الطريقة ، يمكننا أن نرث حقل الاسم بسلاسة.
وبهذه الطريقة ، نهيئة جميع الحقول لدى الأشخاص ، ما عليك سوى إضافة كتلة الكود هذه إلى الكود.
{this.age = 10 ؛ this.name = "Zhangsan" ؛}بعد ذلك ، أعلن هذا الطالب في الوظيفة الرئيسية
الطالب الطالب = طالب جديد () ؛ system.out.println (student.getage ()) ؛
الآن فوجئنا عندما نجد أن طريقة الكتابة هذه ممكنة. على الرغم من أننا لم نعلن أي حقول وطرق في الفئة الفرعية ، لا يزال بإمكاننا استدعاء GetAge () ؛ ويمكننا طباعة 10 بسلاسة
وذلك لأننا لا نتحمل أي طريقة في الفئة الفرعية ، لذلك نسمي Getage فئة الوالدين ، حتى نتمكن من الوصول بسهولة إلى الحقول التي أعلنها فئة الوالدين الخاصة.
بعد قراءة هذه ، أعتقد أن كل شخص لديه فهم أولي للميراث. لذلك في آلية الميراث ، كيف تسمى طرق بناء كل فئة؟ الجواب هو استدعاءهم بالتسلسل من فئة الوالدين إلى فئة الطفل.
أثناء التظاهر ، أعلنت أولاً ثلاث فئات Temp1 و Temp2 و Temp3. في الوقت نفسه ، يرث Temp3 من temp2 ، و temp2 يرث من temp1. وبهذه الطريقة ، نضع بيانًا مطبوعًا في طرق بناء كل فصل.
//temp1system.out.println("i'm temp1 ") ؛ // temp2system.out.println (" im temp2 ") ؛ // temp3system.out.println (" im temp3 ") ؛ من أجل الراحة ، كتبت هذا هنا ، ولكن يجب على الجميع الانتباه إلى حقيقة أن هذه الموضوعة في طرق بناء كل فئة.
نقوم بإنشاء كائن temp3 في الوظيفة الرئيسية
الفئة العامة mian {public static void main (string [] args) {temp3 temp3 = new temp3 () ؛ }}نظرنا إلى وحدة التحكم وطبعناها
أنا temp1i'm temp2i'm temp3
من هذا ، يمكننا أن نرى أننا بحاجة إلى إنشاء كائن Temp3 أولاً ، والعثور على الكلمة الرئيسية التي تمتد ، ثم اتبع سلسلة الميراث ، والعثور على Temp2 ، والعثور على الكلمة الرئيسية التي تمتد ، ثم البحث عن Temp1 ، ثم استدعاء مُنشئ Temp1 ، ثم اتصل على واحد تلو الآخر.
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون محتوى هذه المقالة من بعض المساعدة لدراستك أو عملك. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل.