PDA

View Full Version : سوال: شی گرائی در جاوا



sazman1
جمعه 20 اردیبهشت 1392, 12:22 عصر
با توجه به این کد چه قسمتی از اصول شی گرائی رعایت و چه قسمتی نقض شده!؟ در نهایت کد اصلاح شده به چه صورت خواهدبود!؟


Public Class Log{
Public void debyug (script message ){

print("DEBUG",message);

}

Public void info (String message){

print("INFO",message);

}

public void warning(String message){

print("WARNING",message);

}

Public void error(String message){

print("ERROR",message);

}

private void fatal (String message){

print("FATAL",message);

System.exit(0);

}

Public void print(String message ,String severity)

{

system.out.println(severity + "."+ message);

}

همایون افشاری
جمعه 27 اردیبهشت 1392, 21:07 عصر
بستگی به کل مسئله ای که این کلاس توش قرار می گیره داره
مهمترین مشکل این کد اینه که شما یه متد به نام print دارید که می تویند توی بقیه متدها ازش استفاده کنید اما این کارو نکردید
این متد (احتمالا) چون استفاده خارجی نداره باید private باشه
بقیه متدها همه می تونن public باشن
مثلا برای error داریم:


public error(String mesage) {
print(message,"ERROR");
}


نکته دیگه اینکه اگه اسم کلاسو ببینی وظیفه کلاس ثبت log هستش
بنایراین بخشی که توی fatal برنامه رو خاتمه می ده باید یه سطح بالاتر (توی فراخواننده fatal ) اجرا بشه.