الفئة المجردة في جافا

الصف النموذجي في جافا مشابه للواجهة باستثناء أنه يمكن أن يحتوي على تنفيذ طريقة افتراضية. يمكن أن يحتوي الصف النموذجي على طريقة نموذجية بدون جسم ويمكن أن تحتوي على طرق بتنفيذ أيضًا. تُستخدم كلمة المفتاح abstract لإنشاء صف نموذجي وطريقة. لا يمكن إنشاء صف نموذجي في جافا. يُستخدم الصف النموذجي بشكل أساسي لتوفير قاعدة للفصول الفرعية للتوسيع وتنفيذ الطرق النموذجية واستبدالها أو استخدام الطرق المنفذة في الصف النموذجي.

صف نموذجي في جافا

إليك مثال بسيط على صف نموذجي في جافا.

package com.journaldev.design;

// الصف النموذجي 
public abstract class Person {
	
	private String name;
	private String gender;
	
	public Person(String nm, String gen){
		this.name=nm;
		this.gender=gen;
	}
	
	// الطريقة النموذجية 
	public abstract void work();
	
	@Override
	public String toString(){
		return "Name="+this.name+"::Gender="+this.gender;
	}

	public void changeName(String newName) {
		this.name = newName;
	}	
}

لاحظ أن work() هي طريقة نموذجية ولا تحتوي على جسم. إليك مثال على صف ملموس يمتد من صف نموذجي في جافا.

package com.journaldev.design;

public class Employee extends Person {
	
	private int empId;
	
	public Employee(String nm, String gen, int id) {
		super(nm, gen);
		this.empId=id;
	}

	@Override
	public void work() {
		if(empId == 0){
			System.out.println("Not working");
		}else{
			System.out.println("Working as employee!!");
		}
	}
	
	public static void main(String args[]){
		// البرمجة بتفاصيل الصفوف النموذجية 
		Person student = new Employee("Dove","Female",0);
		Person employee = new Employee("Pankaj","Male",123);
		student.work();
		employee.work();
		// استخدام الطريقة المنفذة في الصف النموذجي - التوريث
		employee.changeName("Pankaj Kumar");
		System.out.println(employee.toString());
	}

}

تأكد من أن الفئة الفرعية Employee تورث خصائص وأساليب الفئة الأساسية Person باستخدام الوراثة في جافا. لاحظ أيضًا استخدام كلمة Override التعليق في فئة Employee. اقرأ المزيد حول لماذا يجب علينا دائمًا استخدام التعليق Override عند الغاء تنفيذ الطريقة.

نقاط هامة حول الفئة المجردة في جافا

  1. abstract تُستخدم الكلمة الرئيسية لإنشاء فئة مجردة في جافا.
  2. لا يمكن إنشاء فئة مجردة في جافا.
  3. يمكننا استخدام abstract لإنشاء طريقة مجردة، والتي لا تحتوي على هيكل.
  4. إذا كانت فئة تحتوي على طرق مجردة، يجب أن تكون الفئة أيضًا مجردة باستخدام كلمة مجردة، وإلا فلن يتم تجميعها.
  5. ليس من الضروري أن تحتوي الفئة المجردة على طريقة مجردة. يمكننا تحديد فئة كمجردة حتى لو لم تعلن عن أي طرق مجردة.
  6. إذا لم تحتوي الفئة المجردة على أي تنفيذ للطرق، فمن الأفضل استخدام واجهة لأن جافا لا تدعم الوراثة المتعددة للفئات.
  7. يجب على الفئة الفرعية للفئة المجردة في جافا تنفيذ جميع الطرق المجردة ما لم تكن الفئة الفرعية أيضًا فئة مجردة.
  8. جميع الطرق في واجهة هي ضمنياً مجرّدة ما لم تكن طرق الواجهة ثابتة أو افتراضية. تمت إضافة الطرق الثابتة والطرق الافتراضية في واجهات جافا 8، لمزيد من التفاصيل اقرأ تغييرات واجهة جافا 8.
  9. يمكن للفئة المجردة في جافا تنفيذ الواجهات دون توفير تنفيذ لطرق الواجهة.
  10. تستخدم الفئة المجردة في جافا لتوفير تنفيذ طرق مشتركة لجميع الفئات الفرعية أو لتوفير تنفيذ افتراضي.
  11. يمكننا تشغيل الفئة المجردة في جافا مثل أي فئة أخرى إذا كانت تحتوي على طريقة main().

هذا كل شيء بخصوص الفئة المجردة في جافا. إذا فاتني شيء مهم، يرجى إعلامنا من خلال التعليقات.

Source:
https://www.digitalocean.com/community/tutorials/abstract-class-in-java