ASP.NET חלק ד' טוב אחרי שעברנו את כל מה שלמדנו עד עכשיו ויש לנו בסיס נורמלי , אפשר לעבור לפונקציות וכל מיני דברים כאלה כדי שנוכל לעבוד כמו שצריך.
אז אמרנו כבר ש ASP.NET הינה שפת מונחה עצמים.
שפת מונחה עצמים זוהי שפה אשר עובדת עם מחלקות כל מחלקה מייצגת אובייקט כלשהו , כאשר היא מכילה בתוכה מאפיינים , פעולות ופונקציות שונות.
כדי להמחיש את אופן העבודה נסביר את זה בצורה טיפשית אבל מובנת.
"נבנה" מחלקה של מכונית שתייצג את האובייקט "מכונית".
למחלקה נקרא "מכונית" .
עכשיו כדי להמחיש את הקטע של המאפיינים , נסתכל על זה ככה.
צבע המכונית : כחול .
מהירות מירבית : 220 .
גיר : אוטומט .
אלא הינם המאפיינים שלנו של האובייקט של המכונית דברים בסיסים המייצגים דברים קבועים.
עכשיו נסתכל על פעולות שהאובייקט יכול לעשות.
פונקצייה של התנעה – מתניעה את הרכב. – ( פונקציה פשוטה )
פונקציה של נסיעה – שמשלבת בתוכה פונקצייה של לחיצה על הגז. ( פונקציה מורכבת )
הרעיון אני מקווה ברור , המטרה של תכנות מונחה עצמים בא לעזור לנו בזה שהוא בא לקראת המוח האנושי ומפשיט לנו את הדברים בצורה הכי נוחה כדי שנבין ולא נעבוד עם מספרים כמו מחשב.
טוב לפני שנעבוד עם מחלקות או דברים כאלה נתחיל בדברים פשוטים.
פרוצדורות:
מהי פרוצדורה? (SUB):
פרוצדורה הינה פעולה אשר לא מחזירה ערך , התפקיד שלה הינה לבצע פעולות נטו.
אנחנו משתמשים בפרוצדורות כאשר אנחנו רוצים לבצע פעולה כלשהיא ואנחנו לא צריכים תוצאה מהפרוצדורה עצמה.
תחביר:
Public הצהרה כללית ציבורית אשר ניתן להשתמש בה מעבר לגבולות המחלקה שלנו.
Private - הצהרה פרטית , כאשר אנו רוצים שניתן יהיה לקרוא לפרוצדורה אך ורק מתוך המחלקה.
לדוגמא:
Private Sub Sample (ByVal strTemp as String) Response.write(strTemp) End sub Sample("Hello Rotter!")
|
טוב בוא נפשיט את זה טיפה ולא להיבהל אני מכניס לפה לאט לאט דברים שתצטכו לדעת יותר מאוחר.
Private Sub Sample (ByVal strTemp as String)
מה שעשינו פה זה הצהרנו על פרוצדורה פרטית בשם Sample , בסוגריים הצהרנו שאנחנו חייבים לקבל ערך כלשהו מסוג מחרוזת String , כלומר יש לנו עכשיו פרוצדורה שמחכה לערך של מחרוזת כדי לעבוד.
מה זה ByVal - זהו הצהרה להעביר את המשתנה דרך ערך , כלומר לקבל ערך כלשהו.
Response.write(strTemp)
זוהי פונקצייה מתוך ה FRAMEWORK של ה.NET עם הפונקצייה הזאת אנו יכולים לכתוב לדף את מה שיש בתוך הסוגריים (StrTemp) מקווה שמובן.
פה סגרנו את הפרוצדורה.
פה אני קורה לפרוצדורה שבנינו , ונתתי לה ערך בפנים Hello Rotter ! ככה שבסופו של דבר מה שעשינו בתאכלס , זה קראנו לפרוצדורה שעכשיו בנינו , הכנסו לה ערך והיא עשתה פעולה של כתיבה לדפדפן לדף להציג את מה שהכנסנו לשם.
לא מסובך בכלל.
אם יש שאלות לרשום תגובה.
פונקציות :
פונקצייה היא פועלת בדיוק כמו פרוצדורה אך היא מחזירה לנו ערך , השימוש העיקרי שלנו בפונקצייה היא לפעולות מתמטיות ופעולות בין משתנים , פעולות לוגיות וכל מיני דברים שאנחנו צרים לעשות להם בקרת קלט.
תחביר:
Public הצהרה כללית ציבורית אשר ניתן להשתמש בה מעבר לגבולות המחלקה שלנו.
Private - הצהרה פרטית , כאשר אנו רוצים שניתן יהיה לקרוא לפונקצייה אך ורק מתוך המחלקה.
לדוגמא:
Dim IntTemp as integer Public Function Addnumbers (ByVal Num1 as integer , ByVal Num2 as integer ) as integer Dim Sum as integer = 0 Sum = num1 + num2 Return Sum End Function IntTemp = Addnumbers(60,9)
|
טוב לא להיבהל ממש אין ממה להיכנס לפאניקה אחרי שיודעים את זה זה ממש ממש קל ובא בטבעיות .
מה עשינו פה :
טוב בנינו פונקצייה שמחברת שני מספרים ומחזירה לנו את הסכום שלהם , בדגש על המחזירה.
נפשט את זה לחלקים שיהיה יותר מובן:
Public Function Addnumbers (ByVal Num1 as integer , ByVal Num2 as integer ) as integer
|
פה הצהרנו על פונקצייה בשם Addnumbers אשר צריכה לקבל 2 ערכים Num1 ו Num2 ומחזירה ערך מסוג מספרי.
זוכרים שאמרתי לכם ש DIM הוא הצהרה פרטית לאזור מסויים בתוך בלוק אז כאן עשינו הצהרה פרטית למשתנה SUM עכשיו המשתנה הזה יכיל בתוכו את הערך של הסכום של 2 המספרים שהפונצייה תקבל , המשתנה "ימחק" לאחר סיום הפונקצייה כדי לחסוך במשאבי שרת , כיוון שהצהנו שהוא פרטי וברגע שהפונקצייה תסתיים השרת יבין שאין לו עוד צורך במשתנה הזה בזיכרון.
פה אין לי הרבה מה להסביר , פעולה אריתמטית פשוטה מאוד השמה של סכום שני המספרים שקיבלנו לתוך המשתנה SUM.
טוב זה החלק הכי חשוב! פה אנחנו נותנים לפונקצייה עצמה ערך כאשר אנחנו מבצעים את פעולת ה Return אנו בעצם מבצעים השמה של הערך שבחרנו להחזיר לפונצייה , כלומר שהשימוש בפונקצייה יתן לנו בסופו של דבר את הערך של SUM .
2 דברים חשובים ביותר לזכור בפונקציות!!!
1.על הפונקצייה להחזיר ערך שהוא מאותו סוג נתונים אם הצהרנו על פונקצייה מסוג INTEGER שהוא סוג מספרי אנו חייבים להחזיר משתנה מאותו סוג.
2.חשוב ביותר לדעת , לאחר שימוש בפעולה Return הפונצייה מסתיימת! אם אני משתמש בפעולה הזאת נגיד באמצע הפונקצייה הפונקצייה תיגמר שם ולא תמשיך.
ניתן דוגמא:
Public Function Addnumbers (ByVal Num1 as integer , ByVal Num2 as integer ) as integer Dim Sum as integer = 0 Return Sum Sum = num1 + num2 End Function
|
הדוגמא זו הפונקצייה תחזיר לנו 0 ולא תבצע בכלל את הפעולה שמתחת ל Return!
IntTemp = Addnumbers(60,9) |
בפעולה זו אנחנו משתמשים בפונקצייה. אנחנו רוצים שהערך של IntTemp יהיה הסכום של המספרים 60 ו 9 , לאחר שהפונקצייה תרוץ היא תחזיר לנו את הערך 69 והערך של IntTemp יהיה 69.