menusearch
javapro.ir

تفاوت بین کلاس Abstract و Interface در جاوا

جستجو
شنبه ۲۹ اردیبهشت ۱۴۰۳ | ۷:۱۸:۴۰
۱۳۹۶/۳/۳۰ سه شنبه
(6)
(0)
تفاوت بین کلاس Abstract و Interface در جاوا
تفاوت بین کلاس Abstract  و Interface در جاوا

 

مباحث پرکاربرد و مهم زبان جاوا رو به صورت رایگان آموزش ببین

 

 

 

 

ما در سلسله آموزش های ساده جاوا در جلسه بیست و پنجم مبحث Abstraction( انتزاع) و در جلسه بیست و هفتم مبحث Interface را بررسی کردیم. قبل از مطالعه این مقاله دو مبحث مذکور را مطالعه کنید.

1.    جلسه بیست و پنجم مبحث Abstraction( انتزاع)
2.    جلسه بیست و هفتم مبحث Interface


در این مقاله قصد داریم با هم در مورد تفاوت های میان کلاس Abstract و Interface با مثال بحث کنیم.

تفاوت بین کلاس Abstract  و Interface در جاوا

•    هر یک از تفاوت های میان کلاس Abstract و Interface در جاوا را که در جدول بالا بهش پرداختیم با مثال بررسی می‌کنیم:


مورد1 :


abstract class Cat {
// کلاس Abstract می‌تواند متدهای انتزاعی (abstract) و غیرانتزاعی (non-abstract) داشته باشد.

   public abstract void sleep ();

  public void run() {
       System.out. print ln("Cat is runing...");
   }

}

interface Dog {
// Interface تنها می‌تواند متدهای انتزاعی(abstract) داشته باشد.

   public void sleep ();

   public void run();
}


مورد2:

 
// کلاس Abstract وراثت چندگانه را ساپورت نمی‌کند.

abstract class A {

}

abstract class B extends A {

}

//Interface از وراثت چندگانه حمایت می‌کند

interface C {

}

interface D {

}

interface E extends C, D {

}

 


مورد3:

 


// کلاس Abstract می‌تواند متغیرهای final و غیر final، static و غیر static داشته باشد.

abstract class Example1{

   private int numOne=10;
protected final intnumTwo=20;
   public static final intnumThree=500;
   public void display1(){
      System.out. print ln("Num1="+numOne);

   }
}

class Example2extends Example1{

public void display2(){
      System.out. print ln("Num2="+numTwo);
      System.out. print ln("Num2="+numThree);

   }
}

class Demo{

   public static void main(String args[]){
      Example2 obj=new Example2();
      obj.display1();
      obj.display2();

   }
}


مورد3:


// Interface تنها می‌تواند متغیرهای final و static داشته باشد.

interface Example1{
   intnumOne=10;
}
class Example2 implements Example1{
public void display1(){
      System.out. print ln("Num1="+numOne);
   }
}
class Demo{
   public static void main(String args[]){
      Example2 obj=new Example2();
      obj.display1();
   }
}

 


مورد4:

 


interface A {

}
// کلاس Abstract می‌تواند به interface، implements شود.
//Interface نمی‌تواند به کلاس abstract، implements شود.


abstract class B {

}

 


مورد5:

 

 


interface A {

}
// کلمه کلیدی abstract برای اعلان کلاس abstract استفاده می‌شود.
// کلمه کلیدی interface برای اعلان یک interface استفاده می‌شود.

abstract class B {

}

 


•    مورد 6 همان مورد 2 است که به گونه دیگر بیان کردیم.


مورد7:

 


interface A {

}

interface B {

}

interface C {

}

interface D {

}

abstract class E {

}
// یک کلاس می‌تواند تنها یک کلاس abstract را به ارث ببرد.
// یک کلاس می‌تواند به هر تعداد Interface را implements کند.
class F extends E implements A, B, C, D {

}


نویسنده: رحمان زارعی



برای بهبود کمیت و کیفیت محتوای آموزشی وب فارسی ما را حمایت کنید.

این مقاله را از طریق لینک زیر بصورت کتاب الکترونیکی (PDF) دانلود کنید.



آموزش آسان و ساده زبان برنامه نویسی جاوا
لینک دانلود



دوره رایگان آموزش فریمورک سازمانی Spring Boot همراه باآموزش ساخت فروشگاه اینترنتی با جاوا

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

1 نظر
جواد
شنبه پانزدهم مهر ۹۶
پاسخ
(1)
()
جواد
ممنون از بررسی کامل تان فکر می‌کنم بعد از جاوا8 یک اینترفیس می‌تواند متدهای غیر انتزاعی هم داشته باشد. یعنی متدهای static و Default
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی