איך למשוך תכונה

תוכן עניינים:

איך למשוך תכונה
איך למשוך תכונה

וִידֵאוֹ: איך למשוך תכונה

וִידֵאוֹ: איך למשוך תכונה
וִידֵאוֹ: איך למשוך בחורה? איך להיות אטקרטיבית בעיני גבר? חוק המשיכה 2024, נוֹבֶמבֶּר
Anonim

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

איך למשוך תכונה
איך למשוך תכונה

הוראות

שלב 1

צור אובייקט או מצביע למופע של הכיתה שאת התכונה שלה אתה זקוק בתוכנית שלך. הבנייה הסטנדרטית לפעולה כזו היא CMyClass myObj1. לפעמים, כדי לאתחל אובייקט, עליך להעביר פרמטרים מסוימים לבנאי הכיתה. במקרה זה, הרשומה של יצירת אובייקט עשויה להיראות כך: CMyClass myObj1 (param1, param2, param3), כאשר CMyClass הוא שם המחלקה, myObj1 הוא שם האובייקט שנוצר, וכל הפרמטרים המבוקשים על ידי הבנאי מופיעים. בסוגריים. מצביע למופע מחלקה נוצר באופן הבא: CMyClass * pObj1 = CMyClass חדש (param1, param2, param3).

שלב 2

הדרך הפשוטה ביותר להתקשר לתכונה היא להפנות אליה ישירות בכל מקום בתוכנית. עם זאת, הדבר אפשרי רק עבור נתונים פתוחים המתוארים בכיתה עם השינוי הציבורי. גישה ישירה דרך אובייקט נראית כך: myObj1.attr1, כאשר attr1 הוא מאפיין של מחלקה זו. עבור מצביע, השיחה תהיה: pObj1–> attr1.

שלב 3

אם למאפיין שאליו אתה צריך להתייחס יש סטטוס מוסתר ומתואר בכיתה עם השינוי הפרטי, הגישה אליה אפשרית רק משיטה השייכת לאותה מחלקה. על השיטה או הפונקציה של הכיתה להיות הסטטוס הציבורי. הוסף שיטה חדשה לכיתה, שם כתוב את העיבוד של התכונה הנדרשת. במקרה זה ניתן להעביר פרמטרים לפונקציה, תלוי בערך שבוצעו פעולות מסוימות. הפונקציה עצמה יכולה גם להחזיר נתונים, כגון תוכן של תכונה. קוד התוכנית C ++ המיישם את שתי הפונקציות לעבודה עם תכונה פרטית: class CMyClass {מוגן: int attr1; // מאפיין ציבורי: void funcA1 (int param) {attr1 = param; } int funcA2 () {return attr1; }};

שלב 4

לכן, כדי להגדיר את התכונה הפרטית attr1 לערך שאתה צריך, התקשר לשיטה מאותה מחלקה באמצעות האובייקט שנוצר בעבר: myObj1.funcA1 (10) - על ידי פעולה מרומזת דומה, הערך 10 ממוקם בתכונה attr1. כשעובדים עם מצביע למופע של מחלקה, פעולה דומה תיראה כך: рObj1–> funcA (10). כדי לאחזר את התכונה הפרטית attr1 ולברר את הערך המאוחסן בה, התקשר לשיטה אחרת מהמחלקה: int Res = myObj1.funcA2 (). במקרה זה, למשתנה השלם Res יוקצה הערך של משתנה המחלקה הנסתר.

שלב 5

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

שלב 6

כדי להתקשר לתכונה מבלי ליצור אובייקט, הכריז על המשתנה שלו בכיתה כסטטי באמצעות המבנה הבא: static int attr1. במקרה זה, אתה יכול לשלוף את התכונה בכל מקום בקוד התוכנית על ידי ציון הערך: CMyClass:: attr1.

מוּמלָץ: