מהם קבועי מחלקות OOP ב-PHP?

Mhm Qbw Y Mhlqwt Oop B Php



פרדיגמת תכנות המכונה תכנות מונחה עצמים (OOP) מאפשר למשתמשים לכתוב תוכניות מודולריות לשימוש חוזר. קָבוּעַ שימוש בתוך מחלקה הוא אחת התכונות של OOP. קבועי כיתה ב-PHP הם ערכים שלא ניתן לשנות לאחר שצוינו. הם חברים בכיתה ואינם משויכים לאף מופע מחלקה ספציפי.

מה הם קבועי מחלקה ב-PHP?

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







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



לדוגמה, אנו יכולים להגדיר את א קבוע כיתה עבור הערך של Pi באופן הבא:



כיתה מתמטיקה {
const PI = 3.14 ;
}


כאן, הגדרנו את קבוע מחלקה PI לשיעור מתמטיקה ב-3.14. מכיוון שקבוע קשור למחלקה ולא מופע של מחלקה, נוכל לגשת אליו ללא מופע כמו ב:





הֵד Math::PI;


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

גישה לקבועים בכיתה

גישה קבועי מעמד יכול להיעשות בשתי דרכים.



1: שימוש ברזולוציית היקף (::)

ראשית, ה קבועי מעמד ניתן לגשת באמצעות רזולוציית היקף (::) מפעיל, כמו ב:

שם כיתה::CONSTANT_NAME


תראה דוגמה:

< ?php
אדם בכיתה {
const שם = 'לארי' ;
const גיל = 32 ;
const לאום = 'אֲמֶרִיקָאִי' ;
}
הֵד אדם::שם, ' \n ' ;
הֵד אִישִׁיוּת, ' \n ' ;
הֵד אדם::לאום;
? >


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

ה :: האופרטור משמש בשילוב עם שם הקבוע כדי לגשת לערך של קבוע מחלקה. לדוגמה, אנו משתמשים בתחביר אדם::שם כדי לאחזר את הערך של שֵׁם קָבוּעַ.

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

2: שימוש במילת המפתח 'עצמי'

לחלופין, אנו יכולים גם לגשת ל- קבועי כיתה בתוך הכיתה עצמה באמצעות ה `עצמי` מילת מפתח ואחריה השם הקבוע המופיע להלן:

עצמי::CONSTANT_NAME


תסתכל על דוגמה כדי לגשת לקבוע באמצעות ה עצמי מילת מפתח.

< ?php
מעגל כיתה {
const PI = 3.14159 ;
פְּרָטִי $רדיוס ;
פּוּמְבֵּי פוּנקצִיָה __לִבנוֹת ( $רדיוס ) {
$זה - > רדיוס = $רדיוס ;
}
פּוּמְבֵּי פוּנקצִיָה אֵזוֹר ( ) {
לַחֲזוֹר עצמי::PI * $זה - > רַדִיוּס * $זה - > רַדִיוּס;
}
}
מעגל $ = מעגל חדש ( 16 ) ;
הֵד מעגל $ - > אֵזוֹר ( ) ;
? >


בדוגמה זו לעיל, מחלקה בשם Circle מציינת מאפיין פרטי הנקרא $radius וקבוע שנקרא PI. הנוסחה המשמשת את getArea() פונקציה לקבל את שטח המעגל הוא PI * רדיוס * רדיוס , כאשר PI הוא הערך של קבוע PI ורדיוס הוא הערך של הפרמטר $radius.

בתוך ה getArea() שיטה, אנו משתמשים ב- עצמי מילת מפתח ואחריה שם הקבוע כדי לקבל את הערך של קבוע PI: עצמי::PI .


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

ירושה של קבועי מעמד

תכונה חשובה נוספת של קבועי מעמד היא שהם יכולים לעבור בירושה על ידי כיתות ילדים. למעשה, תת מחלקה יכולה לגשת לערכים הקבועים שהוגדרו על ידי מחלקת האב שלה באמצעות ה- הוֹרֶה מילת מפתח. לדוגמה:

< ?php
כיתה חיה {
const ANIMAL_TYPE = 'יונק' ;
}
כיתה כלב מרחיב חיה {
פּוּמְבֵּי פוּנקצִיָה getType ( ) {
הֵד 'כלב הוא' , אב::ANIMAL_TYPE;
}
}
$כלב = כלב חדש ( ) ;
$כלב - > getType ( ) ;
? >


באיור זה, לכיתה חיה יש קבוע עם הערך ' יונק 'נקרא ANIMAL_TYPE . ה כֶּלֶב היא תת-מחלקה שמקורה במחלקה Animal.

התפקיד הציבורי getType() של המחלקה Dog פשוט מוציא את הערך של א NIMAL_TYPE קבוע על ידי גישה לקבוע של מחלקת האב באמצעות ה הורה::מילת מפתח .

לבסוף, אנו בונים אובייקט בכיתה Dog ומשתמשים ב- getType() פונקציה, המחזירה את הערך של הקבוע המועבר בתורשה של המחלקה Animal ANIMAL_TYPE .

סיכום

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