java, آموزش قدم به قدم جاوا, جاوا, شی گرایی در جاوا

abstract در جاوا (java abstraction)

abstract در جاوا

در این جلسه، تیم کدگیت را با آموزش abstract در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با شی گرایی
  2. آشنایی با متد
  3. آشنایی با override

Abstraction

Abstraction فرآیندی ایست برای مخفی کردن جزییات پیاده سازی در برنامه نویسی و نشان دادن عملکرد کد به کاربر. یک راه دیگر برا نشان دادن این فرآیند این است که به کاربر فقط چیزهایی که مهم است نشان داده میشود و جزییات پیچیده را مخفی نگه میداریم. به عنوان مثال وقتی میخواهیم یک پیامک ارسال کنیم ما تنها یک متن مینویسیم و دکمه ارسال را میزنیم و از جزییات ارسال اطالاعی نداریم.

کلاس Abstract در جاوا

کلاسی که کلمه کلیدی abstract در آن استفاده شود را کلاس abstract در جاوا میگوییم. این کلاس میتواند شامل متدهای  abstract (متد بدون بدنه یا body) و غیر abstract(متد با پیاده سازی یا بدنه) باشد. کلاس abstract فقط میتواند extends شود و باید متدهای آن پیاده سازی شود. کلاس Abstract را نمیتوان new کرد.

متد abstract در جاوا

متد abstract متدی است که هیچگونه پیاده سازی از خودش ندارد و مثال زیر یک نمونه متد  abstract است:

abstract void run();

مثال اول abstract در جاوا

یک کلاس به نام Bike داریم که آن را به صورت abstract تعریف کردیم. کلاس دیگری به نام Honda کلاس Bike را extends کرده است. ما در کلاس Bike یک متد abstract به نام Run تعریف کردیم. چون این متد abstract هست باید در کلاس فرزندش یعنی Honda پیاده سازی شود. کد abstract در جاوا به صورت زیر است:

public abstract class Bike {
     abstract void run();
}

public class Honda extends Bike {

     @Override
     void run() {
          System.out.println("running safely..");

     }

public class Honda extends Bike {

     @Override
     void run() {
          System.out.println("running safely..");

     }

}

برای تست کدهای بالا، کد main زیر را بزنید:

     public static void main(String[] args) {
          Honda h = new Honda();
          h.run();

     }

مثال دوم abstract در جاوا

یک کلاس abstract داریم به نام shape که متدی به نام draw در خود دارد. این متد نیز abstract است.دو کلاس دیگر به نام Circle و Rectangle داریم که  کلاس shape را extends میکنند. دو کلاس Circle و Rectangle باید متد draw را در خود داشته باشند.کد این کلاس ها به صورت زیر است:

public abstract class Shape {
     abstract void draw();
}

public class Circle extends Shape {

     @Override
     void draw() {
          System.out.println("drawing circle");

     }

}

public class Rectangle extends Shape {

     @Override
     void draw() {
          System.out.println("drawing rectangle");
     }

}

برای تست کدهای بالا کد زیر را بزنید:

     public static void main(String[] args) {       
          Shape s = new Circle();
          s.draw();
     }

abstract در جاوا به ما کمک کرد کلاس های خود را از هم متمایز کنیم. در کد main ما از هیچکدام از کلاس های abstract استفاده نکردیم. همانطور که گفتیم نمیتوانیم این نوع کلاس ها را new کنیم.

نوشته های مشابه

3 دیدگاه در “abstract در جاوا (java abstraction)

  1. افشین گفت:

    با سلام
    از مطالب مفید شما بسیار استفاده کردم.
    آرزوی سلامتی و موفقیت را برای شما در تمامی اعصار زندگی دارم

  2. nd گفت:

    سلام. ممنون از شما از مطالبتون با ذکر منبع استفاده و کپی کردم.

    1. سلام. تشکر از شما بابت ذکر منبع سایت.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *