أسئلة عملية عن إنشاء الفئات بلغة C#


سؤال عملى على الـ OOP
سؤال 1:
أكتب الكود الخاص بإنشاء الفئة Customer للجدول Customer بالحقول Name, City, Country وأكتب الإجراءات Methods بدون كتابة ما تحتويه من أكواد (Implementation) إلا كود الإجراء AllCustsInCity الذى يعيد كل بيانات العملاء من نفس البلد. فعليك كتابة الكود الخاص بهذا الإجراء, وذلك مع العلم بأنك ستنشئ Object من الفئة DBWork بالأسم w وهى فئة بها دالة تسمى RunQuery تأخذ وسيط (Parameter) وحيد وهو جملة SQL(Select) وتعيد جدول بيانات DataTable به ناتج تنفيذ جملة الـ Select, علما بأن الدالة RunQuery غير مطلوب برمجتها تستخدم بشكل مباشر.
الحل:
   public class Customer
    {
        private string _Name;
        private string _City;
        private string _Country;


        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }   

        public string City
        {
            get { return _City; }
            set { _City = value; }
        }
        public string Country
        {
            get { return _Country; }
            set { _Country = value; }
        }

        public DataTable AllCustsLikeName(string CustName)
        {
           return null;
        }

        public DataTable AllCustsInCity(string City)
        {
            DBWork w = new DBWork();
            return  w.RunQuery("select * from customer
                                                             where city='"+City+"'");
        }

        public DataTable AllCustsInCountry(string Country)
        {
           return null;
        }
    }


سؤال 2:
أكتب الكود الخاص بإنشاء الفئة Developer للجدول Developer بالحقول الموضحة بالشكل التالى وأكتب الإجراءات Methods بدون كتابة ما تحتويه من أكواد (Implementation) إلا كود الإجراء MaxSalary الذى يعيد قيمة أكبر راتب. فعليك كتابة الكود الخاص بهذا الإجراء, وذلك مع العلم بأنك ستنشئ Object من الفئة DBWork بالأسم w وهى فئة بها دالة تسمى RunQuery تأخذ وسيط (Parameter) وحيد وهو جملة SQL(Select) وتعيد جدول بيانات DataTable به ناتج تنفيذ جملة الـ Select, علما بأن الدالة RunQuery غير مطلوب برمجتها تستخدم بشكل مباشر.


الحل:

   class Developer
    {
        private string _Name;
        private string _Language;
        private int _Age;
        private double _Salary;

        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        public string Language
        {
            get { return _Language; }
            set { _Language = value; }
        }

        public int Age
        {
            get { return _Age; }
            set { _Age = value; }
        }

        public double Salary
        {
            get { return _Salary; }
            set { _Salary = value; }
        }

        public double MaxSalary()
        {
            DBWork w = new DBWork();
            return Convert.ToDouble(w.RunQuery("Select 
                   Max(Salary) from Developer").Rows[0][0].ToString());
        }

        public double AvgSalary()
        {
            throw new System.NotImplementedException();
        }

        public int NoOfDevelopers()
        {
            throw new System.NotImplementedException();
        }
    }






هناك تعليق واحد: