הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   למה אתם קוראים OOP? (https://hosts.co.il/forums/showthread.php?t=27400)

BlueNosE 27-07-06 12:01

למה אתם קוראים OOP?
 
שלום,
הרבה מתכנתי PHP טוענים שהם עובדים עם OOP.

לפי מה שהבנתי, PHP לא תומכת בOOP עד גירסא 5 לפחות.
איך אתם מגדירים תכנות מונחה עצמים?
תכנות שעובד לפי מודל קבוע ועליו מתווספים הנתונים?
אקח רעיון להסבר שיטת הOOP מתוך איתן, מדריך C++ למתקדמים.

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

אם זאת ההגדרה לOOP, הרי שPHP תמכה מאז ומתמיד בOOP, ע"י הגדרת CLASS עם נתונים משתנים שמקבלים מFUNCTION.

אני לא בטוח בקשר לזה.

בקיצור,
אפשר הסבר חד משמעי מה זה OOP?

יום טוב,
עומר.

omaniusd 27-07-06 12:08

Encapsulation, פולימורפיזם, הורשה.
שפה שמאפשרת מימוש של שלושת עקרונות הOOP הללו בצורה מלאה, היא שפה מונחית עצמים.

בPHP, יש אפשרות להפשטה כלשהי? יש Interface? יש אפשרות ל overriding? יש למתכנת אפשרות לממש את כל שלושת העקרונות הללו?
אם כן, אז היא OOP. יכול להיות שיש class, אבל שזה למעשה לא OOP כי הוא לא מאפשר מימוש התכונות הללו.

BlueNosE 27-07-06 12:14

אני יודע שהורשה יש בPHP.
למה אתה קורא INTERFACE?
ומה זה בדיוק OVER RIDING? דריסת הקוד? 8-*

omaniusd 27-07-06 12:18

http://www.devarea.be/Front/NewsNet/...eportId=147933
זה לגבי Interfaces.

לגבי Over Riding, זה אחד מהמאפיינים הבולטים של פולימורפיזם. יש לי איזושהי מתודה, נניח באחד מה Controls המוכנים. נניח המתודה שמציירת את החלון ב Windows Application. אני אומר "אני רוצה שהמתודה הזאת תתנהג אחרת", שזאת למעשה המשמעות של פולימורפיזם (אותו רכיב, יכול להתנהג בצורות שונות בהתאם לצורך), אני דורס את ההתנהגות המקורית, ומחליף אותה (לפחות חלקית) במשהו שלי.
וזה, דרך אגב, תקף גם למתודות שאתה עושה. מתודה, שתעמוד במצבים שונים.

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

Elad-A 27-07-06 12:22

מה זה OOP? (סליחה על הבורות)

BlueNosE 27-07-06 12:26

ציטוט:

נכתב במקור על ידי omaniusd
http://www.devarea.be/Front/NewsNet/...eportId=147933
זה לגבי Interfaces.

לגבי Over Riding, זה אחד מהמאפיינים הבולטים של פולימורפיזם. יש לי איזושהי מתודה, נניח באחד מה Controls המוכנים. נניח המתודה שמציירת את החלון ב Windows Application. אני אומר "אני רוצה שהמתודה הזאת תתנהג אחרת", שזאת למעשה המשמעות של פולימורפיזם (אותו רכיב, יכול להתנהג בצורות שונות בהתאם לצורך), אני דורס את ההתנהגות המקורית, ומחליף אותה (לפחות חלקית) במשהו שלי.
וזה, דרך אגב, תקף גם למתודות שאתה עושה. מתודה, שתעמוד במצבים שונים.

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

תודה רבה.

בPHP אין CONTROLS, ככה שאין ממש טעם בOVERRIDING.

עריכה:
אלעד...
GOOGLE IT?
OOP תוצאה ראשונה:
Object-Oriented Programming
את הפירוט תוכל למצוא בהודעות שנכתבו בנושא הזה.

omaniusd 27-07-06 12:27

ציטוט:

נכתב במקור על ידי BlueNosE
תודה רבה.

בPHP אין CONTROLS, ככה שאין ממש טעם בOVERRIDING.

עריכה:
אלעד...
GOOGLE IT?
OOP תוצאה ראשונה:
Object-Oriented Programming
את הפירוט תוכל למצוא בהודעות שנכתבו בנושא הזה.

דבר ראשון, overriding זה לא רק ל Controls מוכנים. הבאתי את זה, כי זאת הדוגמא הכי קלה.
אבל זה רלוונטי גם למתודות ודברים שאתה כותב.

BlueNosE 27-07-06 12:28

מעניין אותי פעם לעבוד מול PHP 5 ולראות איך היא עובדת בעזרת OOP.

עוד עריכה:
OOP ON "PHP 5", GOOGLE
http://www.developer.com/lang/php/article.php/3604111

PHP עם PRIVATE?!?!?!?!
וואי, זה חידוש.
דווקא הייתי שמח, זה מאוד שימושי.

The Penguin 27-07-06 12:32

אני קורא רק ל OP אבל זה במירק :\
אז לא יודע

omaniusd 27-07-06 12:36

ציטוט:

נכתב במקור על ידי BlueNosE
מעניין אותי פעם לעבוד מול PHP 5 ולראות איך היא עובדת בעזרת OOP.

עוד עריכה:
OOP ON "PHP 5", GOOGLE
http://www.developer.com/lang/php/article.php/3604111

PHP עם PRIVATE?!?!?!?!
וואי, זה חידוש.
דווקא הייתי שמח, זה מאוד שימושי.

מצייני גישה הם חלק בלתי נפרד מOOP, ומשוייכים ל Encapsulation.


כל הזמנים הם GMT +2. הזמן כעת הוא 22:32.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ