انتزاع داده فرآیند پنهان کردن جزئیات خاص و نشان دادن تنها اطلاعات ضروری به کاربر است.
انتزاع را می توان با کلاس های انتزاعی یا
رابطها (که در فصل بعدی بیشتر در مورد آنها خواهید آموخت).
کلمه کلیدی abstract
یک اصلاح کننده بدون دسترسی است که برای کلاس ها و روش ها استفاده می شود:
یک کلاس انتزاعی می تواند هم متدهای انتزاعی و هم متدهای معمولی داشته باشد:
abstract class Animal {
public abstract void animalSound();
public void sleep() {
System.out.println("Zzz");
}
}
از مثال بالا، امکان ایجاد یک شی از کلاس Animal وجود ندارد:
Animal myObj = new Animal(); // will generate an error
برای دسترسی به کلاس انتزاعی، باید از کلاس دیگری به ارث برده شود. بیایید کلاس Animal را که در فصل Polymorphism استفاده کردیم به یک کلاس انتزاعی تبدیل کنیم:
از فصل وراثت به خاطر داشته باشید که از کلمه کلیدی extends
برای به ارث بردن از یک کلاس استفاده میکنیم. p>
// Abstract class
abstract class Animal {
// Abstract method (does not have a body)
public abstract void animalSound();
// Regular method
public void sleep() {
System.out.println("Zzz");
}
}
// Subclass (inherit from Animal)
class Pig extends Animal {
public void animalSound() {
// The body of animalSound() is provided here
System.out.println("The pig says: wee wee");
}
}
class MyMainClass {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
برای دستیابی به امنیت - جزئیات خاصی را پنهان کنید و فقط موارد مهم را نشان دهید
جزئیات یک شی.
توجه: انتزاع را میتوان با اینترفیسها نیز بهدست آورد، که در فصل بعدی بیشتر درباره آنها خواهید آموخت.