السلام عليكم ...
ممكن احد يشرحلي constructor , sater واتوقع وحده اسمها caters في الجافا
بليز ابغى شرح مفصل عن استخدامها وطريقتها كتابتها ومتى نحط Null :blink:
السلام عليكم ...
ممكن احد يشرحلي constructor , sater واتوقع وحده اسمها caters في الجافا
بليز ابغى شرح مفصل عن استخدامها وطريقتها كتابتها ومتى نحط Null :blink:
setter and getter
بتوقع هاذ المقصود
ايوا هوا دا قصدي :happy:
ممكن احد يشرحلي :unsure:
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
أرجو أن أكون وفقت في الشرح :)
عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..
{ لا ينال العلم مستحٍ ولا مستكبر }
مشكورة شادن عالسؤال استفدتي واستفدت :)
مشكور مبرمج جافا شرحك جدا واضح
يعطيكي العافيه اخوي :)
جدا شرحك واضح ومفهوم
طيب انا عندي سؤال حنستخدم فيه دي 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.
------------------------------------------------------
طيب اول فقره كدا حليتها :
}
وقالت الاستاذه لازم نكتب دي في اي برنامج نسويه ..هل ذا هو نفسه اداة البناء ؟
public Employee()
كتبتلنا دا بس اتوقع ناقص ...
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);\\ ليه نكتب new ومتى نكتبها ؟؟؟ Employee employee2=new Employee();
}
\\ابغى اسوي employee2 ياخذها من اليوزر بس ماني عارفه كيف اكتبها ككودمتأكده فيه اغلاط وناقص اشياء مره كثيره بس انا مبتدئه في الجافا ولا فاهمتلو كثير , ولا عارفه اخليه كود متكامل :blush:
باختصار :)
اولا ننشئ فئة تستقبل 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 في 20 مارس 2011 في 20:23
عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..
{ لا ينال العلم مستحٍ ولا مستكبر }
هذا الموضوع مغلق.