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

عمل كائن من صنف في صنف أخر

بدأه vector_ever في 6 أغسطس 2013 · 5 رد · 857 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

لدي تساؤل بسيط وعلى فرض انه لدي صنفين احدهما يرث من الثاني 

public class Employee {

		protected static int id;
		protected static String name;
		protected static String address;
		protected static double salary;
	 
	    public Employee(int id, String name, String address, double salary) {
	        this.id = id;
	        this.name = name;
	        this.address = address;
	        this.salary = salary;
	    }
//sette and getter
public class Manger extends Employee{

	public Manger(int id, String name, String address, double salary) {
		super(id, name, address, salary);
	}

public static void manging(){
// some varibles

Employee employee = new Employee (id, address, address, salary);

// some operations using Object employee
}

السؤال هو انه لدى محاولتي عمل كائن employee يحوي الخائص الرقم والاسم والعنوان والراتب  كلن هذا غير ممكن الا اذا قمت بتعريف المتغيرات في الصنف  Employee بوصفها ساكنة Static

protected static int id;
		protected static String name;
		protected static String address;
		protected static double salary;

سوى ذلك فساحصل على خطا دائما

 

فما الحل الافضل ام ان هذا هو الحل الوحيد؟

تم تعديل هذه المشاركة بواسطة vector_ever في 6 أغسطس 2013 في 22:13

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#2

ماتقوم به/ماتوصلت إليه  غير صحيح،

 

Employee.java

package com.company;
 
/**
 * Created with IntelliJ IDEA.
 * User: striky
 * Date: 8/7/13
 * Time: 12:02 AM
 * To change this template use File | Settings | File Templates.
 */
public class Employee {
 
    protected int id;
    protected String name;
    protected int salary;
    protected String address;
 
    public Employee(int id, String name, int salary, String address){
        this.id=id;
        this.name=name;
        this.salary=salary;
        this.address=address;
 
    }
 
}

 

Manager.java

 

 
package com.company;
 
/**
 * Created with IntelliJ IDEA.
 * User: striky
 * Date: 8/7/13
 * Time: 12:04 AM
 * To change this template use File | Settings | File Templates.
 */
public class Manager extends Employee {
 
    public Manager(int id, String name, int salary, String address){
        super(id,name,salary,address);
 
    }
    public void doStuff() {
        System.out.println("Managing: ");
 
    }
    public String toString(){
        return String.format("<Manager %d %s %d %s>", id, name, salary, address);
    }
}

 

Main.java

 

package com.company;
 
public class Main {
 
    public static void main(String[] args) {
// write your code here
        Manager m = new Manager(1, "name", 2222, "someplace");
        m.doStuff();
        System.out.println(m.toString());
    }
}
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3

يا صديقي هذا ليس ما اسعى اليه وأريده...ما اريده هو استخدام كائن من الصنف Employee داخل الصنف manger

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#4
    public void doStuff() {
        System.out.println("Managing: ");
 
        Employee e = new Employee(3, "someone", 2144, "someplace2");
        System.out.println(String.format("Handling e: %d %s %d %s>", e.id, e.name, e.salary, e.address));
    }
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#5

شكرا لك أخي كنت اتمنى حل لا يتم فيه تحديد القيم الخاصة بالموظفين...لكن شكرا على اي حال

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#6

تقصد مثل هذا ؟

 
    public void doStuff() {
        System.out.println("Managing: ");
 
       // Employee e = new Employee(3, "someone", 2144, "someplace2");
 
        Employee e = (Employee)this;
        System.out.println(String.format("Handling e: %d %s %d %s>", e.id, e.name, e.salary, e.address));
 
    }
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

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