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

[003] תרגיל ב #C : מבואות לתכנות מונחה עצמים - Encapsulation


[003] תרגיל ב #C : מבואות לתכנות מונחה עצמים - Encapsulation בשיעור וידאו

 
תרגיל 003 מתוך אוסף תרגילים ב #C מומלץ למתכנתי NET. מתחילים המתכוננים להצלחה בבחינות ובראיונות עבודה כולל הכנה למבחני מיון ליחידת 8200 , ממר"מ , יחידת ראם (השב"כ) ועוד. תרגיל זה מיועד לאימון ותרגול ויש לבצע אותו בהתאם ללוח הזמנים המותאם לתרגיל זה ולחזור על התרגול עד לרמת שליטה מלאה בקוד.

תרגיל  מס'  505 עבור מבואות לתכנות מונחה עצמים - Encapsulation 

  

צור תכנית אשר מגדירה אובייקט מסוג Person .האובייקט חייב להכיל שדות עם מציין גישה (Access modify ) מסוג private המשמשים לאחסון נתוני האובייקט .השדה הראשון הינו עבור אחסון השם הפרטי והשני עבור שם המשפחה ( fname & lname ) . שדה נוסף יהיה עבור נתוני הגיל (age).

  

הוסף לאובייקט מתודות מסוג get & set עבור האפשרות לבצע השמת ערכים אל שדות האובייקט כולל שליפת נתונים מתוך השדות המוגנים (private )

  

יש לבנות מנגנון אשר מגן על הנתונים כך שלא ניתן יהיה להזין ערך ריק לשדות עבור שם פרטי או משפחה ( במקרה כזה השדות יקבלו את הערך No Name ) ןעבור השדה age לא ניתן יהיה להזין ערך שלילי ( במצב זה יהיה הערך 1).

  

תקציר נוסח ראיון עבודה \ בחינה \ מבחני מיון \ Senario :

 

כמתכנת בחברת הייטק הינך מתבקש לבנות תכנית אשר מציגה את נתוני העובדים ע"י אובייקט מסוג person  הכולל את פרטי העובד הבסיסיים ביותר ( שם פרטי , שם משפחה , גיל ) בהתאמה להגבלות הבאות:

 

1.חובה להשתמש בכימוס ( Encapsulation )

2.אין להשתמש במאפיינים עבור השדות (Properties )

3.יש לאתחל ולהדפיס את הנתונים של 2 אובייקטים .

4.השדה age לא יכול להכיל ערך שלילי (במקרה זה הערך יקבל את הערך 1)

5.השדות עבור אחסון השמות לא יקבלו ערך ריק (במקום זאת יקבלו את הערך no name )

 

 

* צור 2 אובייקים אשר אחד מציג מצב שאינו תקין ( גיל שלילי ושדה ריק עבור אחד השמות ) ואובייקט אחר אשר  מציג מצב תקין שבו כל הנתונים נכונים.

 

לדוגמא :

 

image_0

 

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
 
 
namespace DoronAmir
{
 
 
 
    public class Person
    {
        private string fname;
        private string lname;
        private int age;
        public void setFname(string fname)
        {
 
            if (fname != "")
            {
                this.fname = fname;
            }
            else
            {
                this.fname = "No Fname";
 
            }
        }
        public string getFname()
        {
            return this.fname;
        }
        public void setLname(string lname)
        {
            if (lname != "")
            {
                this.lname = lname;
            }
            else
            {
                this.lname = "No Lname";
            }
        }
        public string getLname()
        {
            return this.lname;
        }
        public void setAge(int age)
        {
            if (age > 0)
            {
                this.age = age;
            }
            else
            {
                this.age = 1;
            }
        }
        public int getAge()
        {
            return age;
        }
    }
 
 
    public class MyClass
    {
        public static void Main()
        {
 
            Person p1 = new Person();
 
            p1.setAge(-90);
            p1.setFname("");
            p1.setLname("Amir");
 
 
 
            Person p2 = new Person();
 
            p2.setAge(35);
            p2.setFname("Doron");
            p2.setLname("Amir");
 
 
            Console.WriteLine("{0},{1},{2}", p1.getFname(), p1.getLname(), p1.getAge());
 
            Console.WriteLine("{0},{1},{2}", p2.getFname(), p2.getLname(), p2.getAge());
 
 
        }
    }
 
}

 

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