doron amir
 
דואר אלקטרוני:
 
 
סיסמה:
 
 
 
 
 
 
לוח פגישות
 
|
 
איזכור סיסמא
 
עברית
 
|
 
english
 
|
 
русский
 
 
 
doron amir
 
קורסים ותרגול
 
עמוד הבית
 
חבילות
הדרכה
 
החשבון שלי
 
אודות
דורון אמיר
 
צור קשר
 
מאגר תרגילים ופתרונות
 
מאמרי גולשים
 
קורס אנדרואיד

[017] תרגילים ב #C : מחלקה מסוג Abstract


[017] תרגילים ב #C : מחלקה מסוג Abstract בשיעור וידאו

 
למציאת סרטוני וידאו בנושא הקלידו את שם הנושא בתיבת החיפוש בעמוד - חבילות הדרכה. תרגיל זה מיועד לאימון ותרגול ויש לבצע אותו בהתאם ללוח הזמנים המותאם לתרגיל זה ולחזור על התרגול עד לרמת שליטה מלאה בקוד.

תרגיל מס'   017 בנושא:  abstract    

* המסמך  רשום בלשון זכר מטעמי נוחות, אך מיועד לנשים וגברים כאחד.

 

  1. צור מחלקה אבסטרקטית בשם Employee   והכרז בתוכה על משתנים שיכילו את סטאטוס העובד (תפקידו) ואת  שכרו (לשעה).

 

  1. צור Constructor   למשתני המחלקה כולל מתודה וירטואלית שתקבל את מס' השעות ותחזיר את שכרו של העובד . 

 

  1. צור מתודה אבסטרקטית שתדפיס את הסטאטוס של העובד .

 

  1. גזור מחלקה בת בשם Manager    מהמחלקה שיצרת לעיל    כולל Constructor   למחלקה לאתחול תפקידו ושכרו לשעה של מנהל (מ- base  ).

 

  1. ממש את מתודת חישוב השכר כך שמינימום חיוב שכר מנהל יהיה לשעת עבודה (כלומר- אם מנהל עבד חצי שעה יחושב כאילו עבד שעה שלמה).  ממש את מתודת הדפסת הסטאטוס.

 

  1. גזור מחלקה בת בשם Clerk    (פקיד\ לבלר\ מזכיר..) ממחלקת האם.

 

  1. צור Constructor  למחלקה לאתחול תפקידו ושכרו לשעה של פקיד (מ- base). ממש את מתודת הדפסת הסטאטוס.

 

  1. צור מחלקה נוספת ובתוכה מתודת Main() כולל מערך בן שני אלמנטים ואכלס אותם באובייקטים של מנהל ופקיד ואתחל בערכים מתאימים . כעת הדפס נתוני מנהל הסטאטוס + חישוב שכרו לאחר שעבד 45 דקות ובנוסף הדפס את נתוני הפקיד: הסטאטוס וחישוב שכרו לאחר שעבד 30 דקות .

 

  •  
    • הנושאים שנלמדו עבור התרגיל:
      •  
        • Objects.
        • Abstract.
    • נושא התרגיל:
      •  
        • Objects #C.

לוח זמנים עבור תרגיל מס' 10044   בנושא:  abstract  

19:53-20:00

בניית היישום

תחילה קוד בסיסי להצגת  קלט-פלט

20:00

סיום משוער

פתרון  מוצע לתרגיל מס' 10044   בנושא: abstract  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using System;
using System.Collections.Generic;
using System.Text;
 
namespace DoronAmir_Exc_10044
{
    abstract class Employee
    {
        public Employee(string status, float billingRate)
        {
            this.status = status;
            this.billingRate = billingRate;
        }
 
        virtual public float CalculateCharge(float hours)
        {
            return (hours * billingRate);
        }
 
        abstract public string Typestatus();
 
        private string status;
        protected float billingRate;
    }
 
    class Manager : Employee
    {
        public Manager(string status, float billingRate)
            : base(status, billingRate)
        {
        }
 
        override public float CalculateCharge(float hours)
        {
            if (hours < 1.0F)
                hours = 1.0F;        // minimum charge.
            return (hours * billingRate);
        }
 
        // This override is required, or an error is generated.
        override public string Typestatus()
        {
            return ("Manager");
        }
    }
 
    class Clerk : Employee
    {
        public Clerk(string status, float billingRate)
            :
        base(status, billingRate)
        {
        }
 
        override public string Typestatus()
        {
            return ("Clerk");
        }
    }
    class Test
    {
        public static void Main()
        {
            Employee[] earray = new Employee[2];
            earray[0] = new Manager("A", 40.0F);
            earray[1] = new Clerk("C", 30.0F);
 
            Console.WriteLine("{0} charge = {1}",
            earray[0].Typestatus(),
            earray[0].CalculateCharge(0.75F));
            Console.WriteLine("{0} charge = {1}",
            earray[1].Typestatus(),
            earray[1].CalculateCharge(0.5F));
        }
    }
}
 

חזרה לרשימת השיעורים הטקסטואליים
 
 
אפליקציות אפל
אפליקציות אנדרואיד
001 קורס אנדראויד באתר