الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ال Exception في الواجهات

بدأه kousai في 4 يوليو 2008 · 4 رد · 673 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

عندي سؤال صغير هل يمكنني ان اضع استثنائاتexception لاساليب واجهة معينة interface

مثلا عندي برنامج لحساب محيط ومساحة وحجم بعض الاشكال الهندسية ولكن كلنا نعرف ان الاشكال الهندسية ذات البعدين لاتملك حجم

لذلك ارغب في وضع exception عند حساب الحجم لهذه الاشكال

package exercise1;

public interface Geometrical {

 public abstract double calculatePerimeter();
 public abstract double calculateArea();
 public abstract double calculateVolume();


}

شكرا لكم جميعا

#2

السلام عليكم ورحمة الله وبركاته

يمكنك أخي الفاضل أستخدام الكود التالي

interface Geometrical {

public abstract double calculatePerimeter();

public abstract double calculateArea();

public abstract double calculateVolume()throws Exception;



}



class TwoDim implements Geometrical

{

public double calculatePerimeter() {

return 0;

}



public double calculateArea() {

return 0;

}



public double calculateVolume() throws Exception {

throw new Exception();

}



}



class ThreeDim implements Geometrical

{

public double calculatePerimeter() {

return 0;

}



public double calculateArea() {

return 0;

}



public double calculateVolume() {

return 0;

}



}

ويمكنك القيام بعمل أختبار له كالتالي

public static void main(String[] args) {



TwoDim t2=new TwoDim();

ThreeDim t3=new ThreeDim();



try

{

System.out.print(t2.calculateVolume());//Throw exception

System.out.print(t3.calculateVolume());//Run Fine

}

catch(Exception e)

{ System.out.print("you are not allowed to get volume for 2d object");}





}

}

بالتوفيق والسداد إن شاء الله ولو في أستفسار تفضل

#3

ابو عمار الف الف الف شكر لردك السريع

الله يجزيك الخير

#4

هناك حل برمجي

قم بعمل واجهة ترث الواجهة Geometrical

اسمها شكل ثلاثي الأبعاد 3d

وانقل الدالة calculateVolume

بهذا تصبح غير مضطر إلى بناء هذه الدالة في الأشكال ثنائية الأبعاد

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

فكرة رائعة أخي علاء أحسنت

مواضيع مشابهة