תוכלו להסביר לי על פונקציות בc ועל הפרמטרים והכל?.
ועוד דבר, אפשר הסבר על התכנות מונחה עצמים?
תודה לעוזרים
תוכלו להסביר לי על פונקציות בc ועל הפרמטרים והכל?.
ועוד דבר, אפשר הסבר על התכנות מונחה עצמים?
תודה לעוזרים
נערך לאחרונה על ידי 12matan12; 11-02-2010 בשעה 16:26.
|
|
שאלה קצת קשה שאלת פה.
אתה מנסה ללמוד סי ע"י זה שאתה שואל מה הפונקציות שיש בו? אז אני אגיד לך שאני בספק לגבי כמות האנשים בעולם (!!!) שמכירים את כל הפונקציות שלו.
הייתי מפנה אותך לאתרים עם הסברים על הבסיס שם, אבל אני אישית לא מכיר אתרים כאלה, ולהפיל אותך ישר על אתרים שכבר מסבירים על פונקציות ספציפיות זה לא יהיה כ"כ יעיל (כמו למשל האתר של MSDN...).
בקשר לתכנות מונחה עצמים - אז אני אגיד לך שיש היום בתעשיה הרבה אנשים שמתכנתים ב- C, וכשתשאל אותם, הם יגידו לך שגם שם הם יכולים לתכנת בגישה מונחת עצמים.
תכנות מונחה עצמים זו בסך הכל גישה. גישה שלך לאיך אתה מעצב את הקוד.
במקום לדבר על פונקציות ומשתנים, אתה מתחיל לדבר על אובייקטים. אתה מתחיל לדבר על ישויות. אתה מתחיל לדבר על משהו חי ונושם ופחות יבש וחסר חיים.
שוב, השאלה שלך היא הרבה יותר רחבה מזה, אבל אני יכול לתת לך פה רק את הכיוון ואת הרעיון...
למה טוב לעבוד עם מחלקות ואובייקטים? פשוט מאוד - זה לא בהכרח יותר נוח. זה תלוי בבנאדם, אבל לרוב האנשים זה אכן יותר נוח כי אז הקוד שלהם מסודר באופן שהוא יותר קרוב להם למציאות ולחיים האמיתיים. הגישה שלהם אל הקוד היא יותר אינטואיטיבית.
מה היתרון של שפות כמו C# ו- Java לתכנות מונחה עצמים על פני C?
פשוט מאוד, ששפות אלו נותנות כלים יותר טובים לעבוד עם זה. במקום לדמיין את האובייקטים והמחלקות, אתה רואה אותם ממש בעיניים (כן... ב- C יש כאלה שמתכנתים בגישה מונחית עצמים, ע"י זה שהם מדמיינים את כל הדברים האלה ומתכנתים לפיהם...).
לכל שפה יש את היתרונות והחסרונות שלה. גם לתכנות ב- C# וב- Java יש חסרונות (לפחות לדעתי האישית...), ולכן כל שפה מותאמת לתחומים שבה היא יותר חזקה ולכל אחד יש את העדיפות שלו...
לגבי C++, אני לא מתכוון להיכנס לזה, כי זה עניין של גישה. כל אחד יכול לחשוב אחרת, אבל אישית אני חושב שזו השפה הכי גרועה שאני מכיר. שפה מגעילה. לא קשורה לחיים ולא קשורה לכלום.
אבל, ויש אבל גדול. אם אתה רוצה ללמוד תכנות מונחה עצמים, אז עדיף לך ללמוד C++ מיד אחרי C כי היא השפה שיהיה לך הכי נוח להתחיל ללמוד איתה תכנות מונחה עצמים. וגם זו דעתי האישית. יכול להיות שיהיו אנשים שלא יסכימו איתי...
אני חושב שהוא שאל שאלה אחרת.
גם אני שאלתי בדיוק את אותה שאלה כשהתחלתי לתכנת (לא שאני כל כך רחוק מההתחלה עכשיו, חחח - אני עדיין די מתחיל), למה צריך פונקציות?
טוב, אז צריך פונקציות כי זה פשוט דרך נוחה לעשות פעולות.
זה מסדר לך את הקוד ומקצר אותו.
למשל - אם אתה צריך לעשות עצרת הרבה פעמים (אגב, אני פונקציות כאלו פשוטות עדיף לך לכתוב לבד) אז אתה יכול לכתוב=
קוד של עצרת - מס' 1
קוד של עצרת - מס' 2
קוד של עצרת - מס' 3
או שאתה יכול לעשות:
פונקציה עצרת (מס' כלשהו)
{קוד של עצרת - מס' כלשהו}
עצרת (מס' 1)
עצרת (מס' 2)
עצרת (מס' 3)
===================
כתבתי בעברית על מנת לשמור על פשטות.
תזכור שקוד של משהו כמו עצרת זה כמה שורות טובות של קוד.
ככה הקוד שלך גם יותר קריא וגם יותר קל.
בקודים ארוכים יותר, יוצא שאתה מפרק את הפעולות שאתה צריך לעשות להרבה פונקציות שונות, כל אחת אחראית על חלק מסוים מהקוד.
אה נכון הז התפקיד של פונקציות(פעם התעסקתי איתם)
אבל אני לא יודע מזה פרמטרים שבפונקציה
טוב.
נגיד יש לך פונקציה שמחזירה את הערך של X +5.
X הוא פרמטר במקרה הזה.
אתה צריך להכניס אותו מחדש כל פעם שאתה קורא לפונקציה (כל פעם עם ערך שונה).
עקרונית זה משהו כזה:
קוד:functionname(5) // return 10 functionname(10) // return 15
כמובן, אפשר גם יותר מפרמטר אחד,
למשל פונקציה שמחזירה מכפלה של 2 מספרים:
קוד:functionname(1,7) // return 7 functionname(2,5) // return 10 functionname(9,2) // return 18וכו...
איך שמים לפרמטר ערך?