• 0
شادن..}~

ممكن شرح constructor , setter ......?

سؤال

السلام عليكم ...

ممكن احد يشرحلي constructor , sater واتوقع وحده اسمها caters في الجافا

بليز ابغى شرح مفصل عن استخدامها وطريقتها كتابتها ومتى نحط Null :blink:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

setter and getter

بتوقع هاذ المقصود

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ايوا هوا دا قصدي :happy:

ممكن احد يشرحلي :unsure:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

Constructor هي دالة بناء الفئة "Class" .. حتى تستطيعي إنشاء كائن يجب أن تستدعي دالة البناء .. المثال الآتي سيوضح لك:

فئة حساب مساحة المستطيل :


public class Area {
public Area(){}//constructer
}

"من دون هذه الدالة لا نستطيع إنشاء الكائن!"

نحتاج لحساب المستطيل :

المتغير الأول : طوله.

المتغير الثاني: عرضه.

إذا لنتفق على إعطاء الطول اسم :x والعرض اسم: y

لكي نستطيع الوصول إلى التعديل على قيم هذه المتغيرات ننشئ دالة تمكننا من التعديل على x,y

الدوال:

setX , setY

ودالة أخرى تمكننا من الوصول إلى القيم المعطاة لـ x,y

الدوال:

getX ,getY


public class Area {
private double x;//length
private double y; //width
private double area;
public Area(){}//constructer

/**
* @return the x
*/
public double getX() {
return x;
}

/**
* @param x the x to set
*/
public void setX(double x) {
this.x = x;
}

/**
* @return the y
*/
public double getY() {
return y;
}

/**
* @param y the y to set
*/
public void setY(double y) {
this.y = y;
}
}

ماذا نحتاج أيضا؟

نحتاج لمتغير نخزن فيه قيمة المساحة .. إذا ننشئ متغير جديد ولنسميه مثلا : area ، ونحتاج كذلك لدالة تعود علينا بقيمة المساحة .. نسميها getArea()

الفئة بعد إضافة التعديلات



public class Area {
private double x;//length
private double y; //width
private double area;
public Area(){}//constructer

/**
* @return the x
*/
public double getX() {
return x;
}

/**
* @param x the x to set
*/
public void setX(double x) {
this.x = x;
}

/**
* @return the y
*/
public double getY() {
return y;
}

/**
* @param y the y to set
*/
public void setY(double y) {
this.y = y;
}

public double getArea(){
area = x*y;
return area;
}

}

نستدعي الفئة الآن في دالة main ، بحيث ننشئ كائن جديد من فئة مساحة المستطيل وذلك باستدعاء دالة البناء :


Area rectangle = new Area();

نقوم بالتعديل على الطول والعرض من خلال دالة set :


Area rectangle = new Area();
rectangle.setX(10);
rectangle.setY(20);

نقوم الآن بطباعة المتغيرات مع الناتج النهائي :



Area rectangle = new Area();
rectangle.setX(10);
rectangle.setY(20);
System.out.println("x = "+rectangle.getX()+"\n"+"y = "+rectangle.getY()+"\n"
+"Area = "+rectangle.getArea());

الناتج:


run:
x = 10.0
y = 20.0
Area = 200.0

أرجو أن أكون وفقت في الشرح :)

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكورة شادن عالسؤال استفدتي واستفدت :)

مشكور مبرمج جافا شرحك جدا واضح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يعطيكي العافيه اخوي :)

جدا شرحك واضح ومفهوم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طيب انا عندي سؤال حنستخدم فيه دي functions, وبرضو عندي اسأله فيه :happy:

#إنشاء فئة تدعى Employee الذي يتضمن ثلاثة متغيرات

• الاسم الأول،

• اسم العائلة،

• الراتب الشهري ،

# توفر منشئ التي تهيئة المتغيرات سبيل المثال ثلاثة.

\\ذا بالانجليزي لانو بالترجمه مو واضح السؤال

Provide a constructor that initializes the three instance variables.

#توفير set و get ة لكل متغير . إذا كان الراتب الشهري ليست موجبة، لا تقم بتعيين قيمته.

#كتابة تطبيق اختبار يسمى EmployeeTest الذي يوضح قدرات الموظفين في الفئة. إنشاء كائنين الموظف راتب كل موظف سنويا. ثم إعطاء كل موظف 10 ٪ زيادة وعرض راتب كل موظف سنويا مرة أخرى.

\\Write a test application named EmployeeTest that demonstrates class Employee’s capabilities. Create two Employee objects each Employee’s yearly salary. Then give each Employee a 10% raise and display each Employee’s yearly salary again.

------------------------------------------------------

طيب اول فقره كدا حليتها :


[left]public class Employee {
String FirstName;
String LastName;
double MonthlySalary;[/left]


}

وقالت الاستاذه لازم نكتب دي في اي برنامج نسويه ..هل ذا هو نفسه اداة البناء ؟

 
public Employee()

[left]{
FirstName= Null;
LastName= Null;
MonthlySalary=0.0;
}[/left]

كتبتلنا دا بس اتوقع ناقص ...

void Employee(String first, String last,double salary );
\\اتوقع ينكتب كدا لان الورقه اللي فيها حل السؤال مااعرف فين ضاعت مني :wacko:

طيب دي الفقره اللي بعدها. للفانكشن set & get

بس ماني عارفه اذا صح ولا غلط ^^!


public void setFirstName(String first)
{
FirstName=first;
}
public void setLastName(String last)
{
LastName=last;
}
public void setMonthlySalary(double salary)
{
if(salary>0)
MonthlySalary=salary;
else
MonthlySalary=0.0;
}


public String getFirstName()
{
return first;
}
public String getLastName()
{
return last;
}
public double getMonthlySalary()
{
return salary
}

اخر فقره ....


class EmployeeTest
{
void main()
{
Employee employee1=new Employee(Amal,Hassan,10000);\[color="#FF0000"]\ ليه نكتب new ومتى نكتبها ؟؟؟[/color] Employee employee2=new Employee();
}

\\ابغى اسوي employee2 ياخذها من اليوزر بس ماني عارفه كيف اكتبها ككود

متأكده فيه اغلاط وناقص اشياء مره كثيره بس انا مبتدئه في الجافا ولا فاهمتلو كثير , ولا عارفه اخليه كود متكامل :blush:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

باختصار :)

اولا ننشئ فئة تستقبل 3 متغيرات ..

ونضع الشروط في دوال الـ set

طبعا انا حطيت شرط اذا الراتب سالب اضربه بـ -1

ونضيف دالة تعود براتب الموظف خلال سنة

أيضا دالة الزيادة 10 %


public class Employee {
private String first;//first name
private String last;//last name
private double salary;//salary

public Employee(){}

public Employee(String first_name,String last_name,double salary){
setFirst(first_name);
setLast(last_name);
setSalary(salary);
}

/**
* @return the first
*/
public String getFirst() {
return first;
}

/**
* @param first the first to set
*/
public void setFirst(String first_name) {
first = first_name;
}

/**
* @return the last
*/
public String getLast() {
return last;
}

/**
* @param last the last to set
*/
public void setLast(String last) {
this.last = last;
}

/**
* @return the salary
*/
public double getSalary() {
return salary;
}

/**
* @param salary the salary to set
*/
public void setSalary(double salary) {
if(salary < 0){salary = salary*-1;}
this.salary = salary;
}

public double getSalaryForYear(){
return salary*12;
}

public void increase(){
double value = getSalary()/10;
double newSalary = this.salary + value;
setSalary(newSalary);
}

}

في دالة الـ main


public static void main(String[] args) {
// TODO code application logic here
Employee e1 = new Employee("Ahmed","Ali",1000);
Employee e2 = new Employee("Mohmed","Salam",5000);

System.out.println("First Employee: "+e1.getFirst()+"\t"+e1.getLast()+"\n");
System.out.println("His current salary : "+e1.getSalary()+"\tone year :"+e1.getSalaryForYear()+"\n\n");
e1.increase();
System.out.println("After Increase: "+e1.getSalary()+"\tone year :"+e1.getSalaryForYear()+"\n");

System.out.println("----------------------------Second Employee-------------------------");

System.out.println("First Employee: "+e2.getFirst()+"\t"+e2.getLast()+"\n");
System.out.println("His current salary : "+e2.getSalary()+"\tone year :"+e2.getSalaryForYear()+"\n\n");
e2.increase();
System.out.println("After Increase: "+e2.getSalary()+"\tone year :"+e2.getSalaryForYear()+"\n");
}

ناتج البرنامج :


First Employee: Ahmed Ali

His current salary : 1000.0 one year :12000.0


After Increase: 1100.0 one year :13200.0

----------------------------Second Employee-------------------------
First Employee: Mohmed Salam

His current salary : 5000.0 one year :60000.0


After Increase: 5500.0 one year :66000.0

تم تعديل بواسطه JavaPorgrammer
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سؤال واحد للموضوع الواحد

يغلق الموضوع

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .