CodeGym /בלוג Java /Random-HE /רמה ישנה 05
John Squirrels
רָמָה
San Francisco

רמה ישנה 05

פורסם בקבוצה

האם אני יכול להיות מפתח תוכנה?

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

למה פיתוח תוכנה?

לפני שמתחילים ללמד אדם תכנות, מוטב שנגלה מה זה נותן לו או לה.

1 עבודה פשוטה ומעניינת.

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

2 זה משולם היטב.

אני פשוט נהנה לראות את החברים שלי קונים לעצמם מכוניות ובתים בעבודה של 5 שנים.

3 שעות גמישות.

לוח זמנים קפדני של עבודה הוא דבר מגעיל. כל אדם שהיה אי פעם בפקק במהלך שעות העומס או קיבל קנס על איחור של 5 דקות יכול לאשר זאת. ומה לגבי היכולת להגיע לעבודה ב-11 בבוקר ולצאת ב-17:00? עבור רוב המתכנתים זה לוח זמנים רגיל. פשוט תעשה את העבודה שלך ואף אחד לא יגיד מילה משולבת. אתה יכול אפילו לעבוד בבית ברוב החברות. אתה תמיד יכול להגיע להסכמה סבירה עם המעסיק שלך.

4 צמיחה מקצועית.

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

5 ניידות בינלאומית גבוהה.

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

למה Java?

סך כל שלושת הגורמים הבאים גרמו לי להכשיר מחדש אנשים למפתחי Java.

1. Java - היא אחת השפות הקלות ביותר ללמידה.

אדם שזה עתה סיים בית ספר יכול ללמוד אותו תוך 3 עד 6 חודשים, תלוי בידע הבסיסי ובכמות השעות שהושקעו בלימודים.

2. ביקוש גבוה בשוק העבודה.

ניתן להתקבל לעבודה ללא ניסיון קודם. חברות מעסיקות מתמחים בשקיקה וממשיכות לחנך אותם.

3. המשכורות הגבוהות ביותר בתחום.

אחד הגבוהים ביותר. זה חשוב במיוחד למפתחים זוטרים.  

תכנות היא מיומנות

רמה ישנה 05 - 2אתה לא יכול לקרוא ספר ולהיות מתכנת מחשבים. אתה צריך 500 שעות תרגול לפחות. ממש כמו איגרוף. אתה לא יכול פשוט לצפות במשחקים ולהיות מקצוען. אתה צריך להתאמן במשך שנים. (לכן ל-CodeGym יש כל כך הרבה משימות מעשיות). כל ההצעות ללמד אותך לתכנת ב-10 שעות זהות להצעות ללמד אותך להתאגרף ב-10 שעות. ואז לזרוק אותך לזירת אגרוף! אל תעשה את זה. לפעמים כשמשתמש חדש שואל בפורומים איך להפוך למפתח תוכנה, אומרים לו להמציא לעצמו משימות ולבצע אותן. זה לא יעבוד. העניין הוא שאדם לא יכול לעשות משימה מעבר לידע שלו. או שאתה יודע משהו, או שאתה לא יודע. רק אדם הבקיא בנושא מסוגל ליצור עבורך משימות עוקבות, שכל אחת מהן תלמד אותך דברים חדשים ולא ייקח שבועות לפתור. זה מה שעשיתי ב-CodeGym.

שיטת לימוד חדשנית חדשה

חינוך CodeGym נעשה בצורה שונה מהחינוך האקדמי. אתה תשים לב לזה די מהר. זה הרבה יותר יעיל. הלימודים שלך בקולג' היו כנראה כאלה: הרצאות ארוכות ותרגול כדי לנסח את מה שלמדת. בעקבות גישה זו אתה משפר את הידע שלך, לא את הכישורים. למען האמת, הכישורים שלך שנרכשו בדרך זו לא שווים כלום. יש לי גישה אחרת. אני מאמין שאדם צריך לשאול שאלות קודם, ורק אחר כך לקבל עליהן תשובות. לתשובה לפני שאלה אין ערך. ההרצאות שלי הן תשובות לשאלותיך. אז קודם כל אני נותן לך משימות מעשיות שקשה לפתור עם הידע הנוכחי שלך. המשימות הללו מעלות שאלות ואז אתה מקבל את התשובות שלי שהן ידע והרצאות. אני מציג בפניכם ידע חדש בשלושה שלבים:
  1. מבוא (מינימום תיאוריה וכמה משימות מעשיות)

  2. ידע בלוק ראשי (עליך להבין את הנושא במלואו)

  3. פרטים וניואנסים (אני ממלא פערים כאן)

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

רמה 5

רמה ישנה 05 - 3

1 אלי מדברת על שיעורים

היי, אמיגו! היי, אלי! - היום אני רוצה להסביר לך מה השיעורים. - הסבר מס' 1. אתחיל באנלוגיה. כל הדברים ביקום שלנו עשויים מאטומים. הם יכולים להיות מסוגים שונים: מימן, חמצן, ברזל, אורניום, ... שילוב אטומים מאפשר יצירת דברים או עצמים שונים. - הדבר נכון גם ליקום של ג'אווה. כאן תוכנות מורכבות מאובייקטים מסוגים שונים (כאשר מחלקה היא סוג): מספר שלם, מחרוזת, קובץ, אובייקט, ... שילוב אובייקטים מאפשר יצירת שירותי אינטרנט או תוכניות שונות. - לאטומים שונים יש מבנה פנימי שונה. הם מכילים מספר אלקטרונים, פרוטונים ונויטרונים. - למחלקות שונות (סוגי אובייקטים ב-Java) יש גם מבנה פנימי שונה. הם מכילים משתנים ושיטות שונות. - כן, יש לי מושג כללי על מבנה האטום. אני רובוט, נכון? - בואו נסתכל על התוכנית כמכלול: האובייקטים הם כמו אבני בניין המרכיבות את התוכנית. שיעורים הם סוגים של בלוקים אלה. בלוקים מסוגים שונים הם אובייקטים ממעמדות שונים. - די הבנתי. - הסבר מס' 2. אנו יוצרים מחלקה חדשה כאשר אנו זקוקים לסוג חדש של אובייקט. בתוך מחלקה זו אנו מתארים את ההתנהגות הרצויה של אובייקטים. - ובכן, הבנתי משהו, אבל אני לא בטוח בזה. - בהתחשב במבנה הפנימי, המחלקה מורכבת משיטות מחלקות שעושות משהו ומשתני מחלקה שבהם מתודות מאחסנות נתונים משותפים. - בפשטות, המחלקה היא קבוצה של שיטות? - די הרבה יותר, ליתר דיוק, המחלקה היא קבוצה של שיטות שפועלות יחד ומשתנים שבהם שיטות מאחסנות ערכים שונים לחלוק. - כן. כדי ליצור מחלקה חדשה, עלינו לכתוב את השיטות האלה... - כן. אנחנו צריכים גם להחליט אילו משתנים משותפים לשיטות שונות, ואז להוציא משתנים משיטה למחלקה: להפוך משתני מתודה למשתני מחלקה. - מחלקות נוצרות על התבנית הבאה: 1 המתכנת מחליט אילו אובייקטים נוספים הוא צריך. 2 המתכנת מחלק את האובייקטים הללו לסוגים שונים בהתאם למה שהם עושים. 3 המתכנת כותב מחלקה נפרדת לכל סוג. 4 בכיתה הוא מצהיר על השיטות והמשתנים הדרושים. יש לכתוב 5 פקודות בכל שיטה על מנת שהשיטה תעשה את מה שהמתכנת רוצה שהיא תעשה. 6 הכיתה מוכנה, עכשיו אתה יכול ליצור את האובייקטים שלה. - מדהים! זו תכנית מעניינת. אני אזכור את זה. - אתה צריך לשנן את זה, זה יהיה שימושי. גישת תכנות, שבה התוכנה מחולקת לאובייקטים, נקראת תכנות מונחה עצמים( אופף ). - Java היא דוגמה קלאסית לגישת OOP, כי בג'אווה הכל אובייקטים. - לימוד Java מורכב משתי משימות עיקריות: לימוד כתיבת שיעורים משלך ולימוד שימוש בשיעורים של אחרים . היום אנחנו מתחילים בדברים הכי קלים. תלמד לכתוב שיעורים פשוטים וכמובן ליצור את האובייקטים שלהם. אובייקטים נקראים לעתים קרובות מופעים של המחלקות. אלו מילים נרדפות, כך או כך נכון. - הבנת. - לסיכום אני יכול לומר שהמחלקה היא מיני-תוכנה: קבוצה של נתונים ופונקציות שעושות משהו עם הנתונים האלה. תכונה חשובה של מחלקות היא היכולת ליצור מופעים של מחלקות אלו (אובייקטים). - כדי ליצור אובייקט מחלקה, עליך לכתוב בקוד «new class_name()» . רמה ישנה 05 - 4- לאובייקט מחלקה יש שתי תכונות מעניינות: - ראשית. כל אובייקט מחלקה מאחסן עותק משלו של משתני המחלקה. לכן, אם משתנים x, y מוכרזים במחלקה ויוצרים 10 אובייקטים מהמחלקה הזו, אז לכל אובייקט יש משתנים משלו. שינוי משתנים של אובייקט אינו משפיע על משתנים של האובייקט האחר. - שנית. כאשר נוצר אובייקט חדש, ניתן להעביר אליו פרמטרים שונים. אלה הם מה שנקרא "ערכי הפעלה". זה כמעט כמו לתת שם בלידה. לא ניתן ליצור אובייקטים רבים מבלי להעביר פרמטרים כאלה. - אני מבין קצת. ומה אמרת על משתני המחלקה? - לכל אובייקט יש את העותק שלו של הנתונים (משתני מחלקה). רמה ישנה 05 - 5

2 רישה מדברת על חבילות

היי, אמיגו! עכשיו אני מספר לכם על החבילות. - קבצים במחשב מקובצים לתיקיות. מחלקות ב-Java (כל מחלקה נמצאת בקובץ נפרד) מקובצות לפי חבילות שהן תיקיות בדיסק. זה לא חדש. אבל יש שתי הערות. - ראשית , «שם מחלקה מלא ייחודי» הוא «שם החבילה» + «שם המחלקה» . דוגמאות: רמה ישנה 05 - 6- שם הכיתה המלא הוא תמיד ייחודי! - קשה מאוד לכתוב שם ארוך, כגון java.util.ArrayList , בכל פעם. לכן, בקוד שלך אתה יכול להשתמש בשמות קצרים של המחלקות האחרות. אבל בשביל זה אתה צריך להשתמש בקסם. - איזה קסם? - אתה יכול להשתמש במשפט «ייבוא ​​java.util.ArrayList;» - בתחילת המחלקה, מיד לאחר הכרזת החבילה, עליך לציין את השם המלא של המחלקה ArrayList המשמשת בקוד שלך. נניח שאתה משתמש במחלקות java.util.ArrayList, sun.generic.ArrayList ו-com.oracle.ArrayList בקוד שלך. אתה יכול לציין אחד מהם ביבוא (למשל sun.generic.ArrayList;) ולהשתמש בשם הקצר שלו. זה מתייחס לשיעור אחד בלבד. - למה זה כל כך מורכב? האם יש כיתות עם שמות זהים? - כן, בחבילות שונות יכולות להיות שיעורים עם אותו שם. אבל אנחנו לא יכולים לייבא שתי מחלקות עם אותו שם לכיתה שלנו , אז עלינו להחיל שם מלא על אחת מהן. - הנה אנלוגיה נוספת. יש לך את ביל בצוות שלך ואין שום בעיה בתקשורת, כי כולם יודעים מי זה. אבל אם היו שלושה שטרות, אז תצטרך להשתמש בשמות הייחודיים המלאים שלהם כדי להבחין ביניהם. - שנית , עדיף להכניס מחלקות לחבילות ולא בתיקיית השורש src . אין בעיות כשיש מעט שיעורים, אבל קל מאוד להתבלבל כשיש הרבה כאלה. לכן, צור תמיד מחלקות בחבילות בלבד. הכלל בג'אווה הוא לתת למחלקות ולחבילות שמות שמסבירים את עצמם. חברות רבות מייצרות את הספריות שלהן (סט כיתות) וכדי למנוע בלבול, שמות חבילות של מחלקות אלו על שם החברה/אתר: רמה ישנה 05 - 7

3 קים להראות הדרכות וידאו

היי, אמיגו! הנה כמה מדריכי וידאו, כיצד ליצור שיעורים וחבילות:
- כבר עשינו את זה! - אתה תעשה את זה אלף פעמים בחיי הרובוט שלך. אז תתרגלו לזה. ועכשיו, אתה צריך להתאמן! יצירת כיתות Java יצירת חבילות

4 אלי, יצירת חפצים, הפניות לאובייקטים

אז, למדנו את השיעורים בפעם הקודמת. היום אני רוצה לספר לכם איך ליצור אובייקטים. זה מאוד פשוט: כתוב את מילת המפתח new ואת שם המחלקה עבור האובייקט שאנו רוצים ליצור: רמה ישנה 05 - 8- אבל שמעתי את זה בעבר. אני יודע, אבל בבקשה תקשיב. - כאשר נוצר אובייקט חדש ניתן להעביר פרמטרים שונים בסוגרים. אני אסביר את זה קצת מאוחר יותר היום. בואו ניקח בחשבון את הכיתה Cat: -רמה ישנה 05 - 9 מה הם הגטרים והסטרים האלה ? - משתנים שאינם נגישים ממחלקות אחרות הם נוהג נפוץ ב-Java. בדרך כלל, למשתנים המוצהרים בתוך מחלקה יש את ה-modifier private . - כדי לתת גישה למשתנה פרטי, עליך ליצור שתי שיטות: get ו- set . המטרה של השיטה get היא להחזיר את הערך הנוכחי של המשתנה למי שקרא לו. מטרת השיטה שנקבעה היא לקבוע ערך חדש. - ומה הטעם? - אם אנחנו לא רוצים שמישהו ישנה ערכים של משתני האובייקט שלנו, אנחנו יכולים פשוט לכתוב no method set , או להפוך אותו לפרטי . אתה יכול גם להוסיף לשיטה זו בדיקת נתונים נוספים. אם הערך המועבר החדש אינו חוקי, אל תשנה דבר. - זה מעניין. - מכיוון שיכולים להיות הרבה משתנים במחלקה, השמות של מתודות get and set כוללים בדרך כלל את השם של משתנה שהם עובדים איתו. - אם משתנה נקרא מלא שם , המתודות צריכות להיקרא getFullName ו- setFullName . וכן הלאה בדומה לזה. - הבנת! בסך הכל זו גישה מובנת. - הנה כמה דוגמאות כיצד לעבוד עם אובייקט חדש שנוצר: רמה ישנה 05 - 10

5 דייגו, משימות ליצירת כיתות וחפצים משלו

היי, אמיגו! הנה כמה משימות ליצירת מחלקות ואובייקטים:
משימות
1 צור חתול בכיתה
צור חתול בכיתה. לחתול חייב להיות שמו (שם, מחרוזת), גיל (גיל, int), משקל (משקל, int) וחוזק (כוח, int).
2 יישום שיטת קרב
יישום שיטת קרב בוליאני (Cat anotherCat): יישום מנגנון קרב בהתאם למשקל, גילם וחוזק החתולים. תמציא תלות בעצמך. השיטה צריכה לקבוע אם החתול הנוכחי (האובייקט ששיטת הקרב שלו נקראה) או חתול אחר ניצח בקרב, כלומר להחזיר אמת אם החתול הנוכחי ניצח ושקר, אם הוא לא ניצח. יש לעמוד בתנאי הבא:
if cat1.fight(cat2) == true, then cat2.fight(cat1) == false
3 מגבירים ומגדירים לכיתה כלב <
צור כלב בכיתה. לכלב חייב להיות שם - שם מחרוזת וגיל - int age.
צור גטרים ומגדירים עבור כל המשתנים של המחלקה Dog.
4 צור שלושה אובייקטים מסוג Cat
צור שלושה אובייקטים מסוג Cat בשיטה הראשית ומלא אותם בנתונים.
השתמש בכיתה Cat של המשימה הראשונה. אל תיצור את הכיתה Cat.
5 ערכו שלושה קרבות זוגיים בין חתולים
צור שלושה חתולים באמצעות הכיתה Cat.
ערכו שלושה קרבות זוגיים בין חתולים.
אל תיצור את הכיתה Cat. לקרב, השתמשו בשיטת קרב בוליאני (Cat anotherCat).
הצג את התוצאה של כל קרב.

6 רישא מדברת על אתחול אובייקט

- אני רוצה לספר לך על אתחול האובייקט. כאשר אובייקט נוצר, יש צורך להקצות נתוני הפעלה למשתנים שלו , על מנת למנוע מצב שבו אתה מנסה לגשת לאובייקט, ואין לו נתונים הנדרשים לעבודה תקינה. - הבה נבחן אובייקט מסוג File. המידע המינימלי הדרוש עבור הקובץ הוא שמו. קובץ בלי שם הוא שטות. - נניח שאתה כותב גרסה משלך של File class (MyFileClass למשל) כדי לעבוד עם קבצים. איזה מידע דרוש עבור כל אובייקט במחלקה זו? - שם הקובץ שאיתו אובייקט זה יעבוד? - זה נכון. לכן אנחנו מוסיפים את השיטה initialize() למחלקה שלנו. זה ייראה כך: רמה ישנה 05 - 11- הוספנו את המתודה אתחול , כדי להיות מסוגל לעבוד עם אובייקט - קרא לשיטות שלו. ניתן לעשות זאת מיד לאחר קריאת השיטה אתחול. אם אתה לא יכול לעבוד עם אובייקט, זה נקרא לא חוקי , אחרת זה חוקי . המטרה העיקרית של שיטת האתחול - היא להעביר את כל הנתונים הדרושים לאובייקט כדי להפוך אותו לתקף. - הבנת! - עכשיו בואו נסבך את המשימה. או יותר נכון לפשט. תלוי איך מסתכלים על זה. תארו לעצמכם שלמתכנת אחר שישתמש בכיתה שלנו קל יותר להעביר לא את שם הקובץ המלא, אלא ספרייה ושם קובץ קצר. אנו יכולים ליישם את הפונקציונליות הזו באמצעות אתחול שיטה אחרת ( Java מאפשרת ליצור מספר שיטות עם שמות זהים ). ואז הכיתה שלנו תיראה כך: רמה ישנה 05 - 12- מה שכן, לעתים קרובות יש צורך ליצור עותק קובץ זמני ליד הקובץ הנוכחי. - האם נוכל לעשות שיטה למקרה הזה? - בטח, תסתכל על זה: רמה ישנה 05 - 13- אז, אני יכול לעשות כמה מהשיטות האלה שאני רוצה? - בגדר הגיון, כמובן. אבל, למעשה, כמה שתרצה. - ומתי יש צורך לקרוא לשיטה אתחול? - מיד לאחר יצירת האובייקט, להפוך אותו לתקף: רמה ישנה 05 - 14- ומהי השיטה הזו getFolder()? - ניתן לראות משמו ששיטה זו היא להחזיר מחרוזת המכילה את שם התיקיה בה נמצא הקובץ שלנו. אבל לא כתבנו את היישום שלו כאן, זה רק לראווה.

7 משימות דייגו, אתחול אובייקטים

היי, אמיגו! משעמם לי בלי השיעורים שלנו. להלן כמה משימות אתחול אובייקט:
משימות
1 צור חבר כיתה
צור חבר כיתה עם שלושה אתחולים (שלוש שיטות לאתחל):
- שם
- שם, גיל
- שם, גיל, מין
2 צור חתול כיתה
צור חתול כיתה עם חמישה מאתחלים:
- שם
- שם, משקל, גיל
- שם, גיל (משקל סטנדרטי)
- משקל, צבע, (שם, כתובת וגיל אינם ידועים, זה חתול סמטה)
- משקל, צבע, כתובת (זה חתול הבית של מישהו אחר)
המשימה של האתחול היא להפוך אובייקט לתקף. לדוגמה, אם המשקל אינו ידוע, עליך לציין משקל ממוצע כלשהו. לחתול לא יכול להיות משקל כלל, כמו כן הגיל. אבל לא יכול להיות לו שם (null). כך גם לגבי הכתובת - יכולה להיות ריק.
3 צור כלב בכיתה
צור כלב בכיתה עם שלושה אתחולים:
- שם
- שם, גובה
- שם, גובה, צבע
4 יצירת מעגל מחלקה
צור מעגל מחלקה עם שלושה אתחולים:
- centerX, centerY, רדיוס
- centerX, centerY, רדיוס, רוחב
- centerX, centerY, רדיוס, רוחב, צבע
5 צור מלבן כיתה
צור מלבן כיתה. הנתונים שלו יהיו למעלה, משמאל, רוחב וגובה. כתוב עבורו כמה שיותר שיטות אתחול (...) דוגמאות

:
- יש להגדיר 4 פרמטרים: שמאל, עליון, רוחב, גובה
- רוחב/גובה לא מוגדרים (שניהם שווים 0)
- גובה לא מוגדרים (שווה ל רוחב), צור ריבוע
- צור עותק של מלבן אחר (זה מועבר בפרמטרים)

8 אלי מדברת על קונסטרוקטורים

- הגיע הזמן לספר לכם על קונסטרוקטורים. זה מאוד פשוט: מתכנתים המציאו סימון קיצור ליצירת אובייקט ולאתחול: רמה ישנה 05 - 15- אבל בדיוק הבנתי את המאתחלים האלה... - אל תתעצבן. תסתכל מקרוב. השימוש בבנאים הוא שימושי יותר וחוסך מקום. כן, זה נראה הרבה יותר טוב. אבל יש שאלה: אני יודע איך לכתוב מתודה אתחול במחלקה, אבל איך אני כותב קונסטרוקטור בתוך המחלקה? - ראשית, תסתכל על דוגמה פשוטה: רמה ישנה 05 - 16- קל מאוד להכריז על הקונסטרוקטור בכיתה. הבנאי הוא כמו שיטת האתחול, אבל יש שני הבדלים:
  • השם של שיטת הבנאי זהה לשם המחלקה (במקום אתחול ).
  • לשיטת הבנאי אין סוג החזרה (לא צוין טיפ בכלל).
- למעשה, זו אותה שיטה אתחול, אבל עם כמה הבדלים. קצת הבנתי.

9 משימות של דייגו, קונסטרוקטור

- נחתם קצת, אני מניח. בסדר גמור. להלן כמה משימות יצירת בנאי:
משימות
1 צור חבר כיתה
צור חבר כיתה עם שלושה בנאים:
- שם
- שם, גיל
- שם, גיל, מין
2 צור חתול מחלקה
צור חתול מחלקה עם חמישה בנאים:
- שם,
- שם, משקל, גיל
- שם, גיל (משקל סטנדרטי)
- משקל, צבע, (שם, כתובת וגיל לא ידועים. זה חתול סמטה)
- משקל, צבע, כתובת (זה חתול הבית של מישהו אחר)
המשימה של האתחול היא להפוך אובייקט לתקף. לדוגמה, אם המשקל אינו ידוע, עליך לציין משקל ממוצע כלשהו. לחתול לא יכול להיות משקל כלל, כמו כן הגיל. אבל לא יכול להיות לו שם (null). כך גם לגבי הכתובת - יכולה להיות ריק.
3 צור כלב בכיתה
צור כלב בכיתה עם שלושה בנאים:
- שם
- שם, גובה
- שם, גובה, צבע
4 יצירת מעגל מחלקה
צור מעגל מחלקה עם שלושה בנאים:
- centerX, centerY, רדיוס
- centerX, centerY, רדיוס, רוחב
- centerX, centerY, רדיוס, רוחב, צבע
5 צור מלבן כיתה
צור מלבן כיתה. הנתונים שלו יהיו למעלה, שמאל, רוחב וגובה. צור עבורו כמה שיותר בנאים:

דוגמאות:
- נקבעים 4 פרמטרים: שמאלה, עליון, רוחב, גובה
- רוחב/גובה לא מוגדרים (שניהם שווים 0)
- גובה לא מוגדרים (שווה לרוחב), צור ריבוע
- צור עותק של מלבן אחר (זה מועבר בפרמטרים)

10 פרופסור, כיתות ובנאים

- זה שוב אני. ההרצאות שלנו פשוט מעולות. אני לא אתן לך קישורים להרצאות משעממות. הנה קישור לדברים מצוינים! - אתה עדיין כאן? לך מהר, קרא, ואני חייב ללכת למעבדה. CodeGym הרצאה 5 דיון

11 חוליו

היי, אמיגו! אני קצת עייף. בואו ננוח קצת, ואז נתחיל בשיעור. מצאתי פרק חדש:

12 ג'ון סנאים

– שלום חייל! - בוקר טוב אדוני! - יש לי חדשות מדהימות בשבילך. הנה משימות לחיזוק הכישורים שלך. עשה זאת כל יום, ותשפר את כישוריך במהירות. משימות תוכננו במיוחד לביצוע ב-Intellij IDEA.
משימות נוספות לעשות ב-Intellij Idea
1 1. שלוש מחלקות
1. צור כיתה חתול וכלב באנלוגיה לכיתה ברווז.
2. חשבו מה אמורה להחזיר שיטת toString במחלקות Cat ו-Dog.
3. בשיטה main צור שני אובייקטים בכל מחלקה והצג אותם.
4. האובייקטים בכיתה Duck נוצרים ומוצגים.
2 גבר ואישה
1. צור כיתות סטטיות ציבוריות גבר ואישה בתוך הכיתה פתרון.
2. למחלקות יש שדות: name(String), age(int), address(String).
3. צור בנאים להעביר אליהם את כל הפרמטרים האפשריים.
4. השתמש בבנאי כדי ליצור שני אובייקטים מכל מחלקה עם כל הנתונים.
5. הצג את האובייקטים בפורמט [שם + " " + גיל + " " + כתובת].
3 3. צור כיתות סטטיות ציבוריות כלב וחתול.
הוסף שלושה שדות לכל כיתה לפי בחירתך.
צור חפצים עבור הדמויות המצוירות של טום וג'רי, עד כמה שאתה זוכר.

דוגמה:
Mouse jerryMouse = new Mouse("ג'רי", 12 (גובה, ס"מ), 5 (אורך הזנב, ס"מ))
4 4. הצג את התאריך הנוכחי
הצג למסך את התאריך הנוכחי בצורה דומה ל-«21 02 2014».
5 5. קרא את המספרים מהמקלדת וחשב את הסכום הכולל שלהם
קרא את המספרים מהמקלדת וחשב את הסכום הכולל שלהם עד שהמשתמש יזין את המילה «סך הכל». הצג למסך את הסכום הכולל.
המשימות האלה היו לירוקים. הוספתי משימות בונוס בעלות מורכבות גבוהה יותר. עבור רובים מובילים בלבד.
משימות בונוס
1 1. התוכנית אינה קומפילציה ופועלת. תתקן את זה.
משימה: התוכנית צריכה לקרוא מהמקלדת שני מספרים ולהציג את סך הכל.
2 2. הוסף פונקציונליות חדשה לתוכנית.
משימה ישנה: הוסף פונקציה חדשה שקוראת מהמקלדת שני מספרים ומציגה את המינימום שלהם.
משימה חדשה: הוסף פונקציה חדשה שקוראת מהמקלדת חמישה מספרים ומציגה את המינימום שלהם.
3 3. לימוד ותרגול אלגוריתם.
משימה: כתוב תוכנית ש
-1. קוראת מהקונסולה מספר N שגדול מאפס
2. ואז קוראת N מספרים מהמסוף
3. מציגה את המקסימום של N מספרים שהוזנו.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION