פורסם 2011 ביולי 3114 שנים זה תרגיל מספר אז תיכנסו כאן לפרק 3 עמודים 65-66. עשיתי את החצי הראשון של חלק א (עשיתי את המחלקה point) אבל נתקעתי בהמשך, במחלקה TESTPOINT : אני צריך להשתמש בפעולות של המחלקה POINT , אבל זה לא מזהה אותם. איך מסדרים את זה?? בנוסף הבנתי שצריך לשמור מחלקה עם סיומת .CS אז איך אני עושה את זה? אני לוחץ על save all ואז במקום של השם אני רושם point.cs?? תודה רבה לכל העוזרים.
פורסם 2011 ביולי 3114 שנים תערוך בבקשה את הכותרת כך שתכיל את תמצית השאלה.איך יצרת את הפרוייקט שלך?איך אתה מוסיף מחלקות חדשות?בעקרון נהוג שכל מחלקה יושבת בקובץ משלה, ששמו זהה לשם המחלקה (כלומר, המחלקה TestPoint צריכה לשבת בקובץ בשם TestPoint.cs). תחת תפריט File>New>File אתה יכול להוסיף קובץ חדש, או כפתור ימני על הפרוייקט ומשם Add > New Item. אני מניח שבתרגיל מצפים ממך ששתי המחלקות הללו ישבו בתוך אותו פרויקט.
פורסם 2011 ביולי 3114 שנים מחבר תערוך בבקשה את הכותרת כך שתכיל את תמצית השאלה. איך יצרת את הפרוייקט שלך? איך אתה מוסיף מחלקות חדשות? האמת שאני לומד את זה לבד מהספר ולא ממש הסבירו איך אני עושה מחלקה חדשה. אז חשבתי שאני עושה פרוייקט חדש ורושם בו רק את גוף המחלקה אבל אני ממש לא בטוח שככה עושים את זה.וגם נניח שזה טוב, לא הבנתי מה אני אמור לעשות בהמשך. אני מניח שבתרגיל מצפים ממך ששתי המחלקות הללו ישבו בתוך אותו פרויקט. הם אמרו לי לשמור את המחלקה TESTPOINT בקובץ TESTPOINS.CS אז לא נראה לי שזה צריך להיות באותו פרוייקט [תודה על העזרה גבר
פורסם 2011 ביולי 3114 שנים הם אמרו לי לשמור את המחלקה TESTPOINT בקובץ TESTPOINS.CS אז לא נראה לי שזה צריך להיות באותו פרוייקט למה לא?ואני אבקש שוב:תערוך בבקשה את הכותרת כך שתכיל את תמצית השאלה.
פורסם 2011 ביולי 3114 שנים מחבר ככה כתבתי את המחלקה. ככה זה אמור להיות??using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Unit3{ public class Point { private double x; private double y; public Point(double x, double y) { this.x = x; this.y = y; } public double getx() { return this.x; } public double gety() { return this.y; } public void setx(double x) { this.x = x; } public void sety(double y) { this.y = y; } public string ToString() { string str = " " + this.x + this.y; return str; } } }
פורסם 2011 ביולי 3114 שנים מחבר המשכתי. לא הבנתי איך אני מפעיל את זה.using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Unit3{ public class Point { private double x; private double y; public Point(double x, double y) { this.x = x; this.y = y; } public double getx() { return this.x; } public double gety() { return this.y; } public void setx(double x) { this.x = x; } public void sety(double y) { this.y = y; } public string ToString() { string str = " " + this.x + this.y; return str; } } }public class TestPoint{ public double Main() { Point x = new point(43, 7); Point y = new point(5, 5); int z = 0; return x; return y; z = x.getx; x.setx = y.getx; y.setx = z; return x; return y; }}
פורסם 2011 ביולי 3114 שנים א. לא ככה צריכה להיראות פונקציית Main. אם אתה לא יודע איך אמורה להיראות פונקציית Main, אז תחזור אחורה בספר.ב. לא מדפיסים באמצעות return. למעשה, בספר כתוב לך בדיוק איך אתה אמור להדפיס.
פורסם 2011 ביולי 3114 שנים מחבר עשיתי את זה וזה עובד using System;using System.Collections.Generic;using System.Linq;using System.Text; public class Point { private double x; private double y; public Point(double x, double y) { this.x = x; this.y = y; } public double getx() { return this.x; } public double gety() { return this.y; } public void setx(double x) { this.x = x; } public void sety(double y) { this.y = y; } public override string ToString() { string str = " " + this.x +","+ this.y; return str; } }namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Point a = new Point(43, 7); Point b = new Point(5, 5); double z = 0; Console.WriteLine(a); Console.WriteLine(b); z = a.getx(); a.setx (b.getx()); b.setx (z); Console.WriteLine(a); Console.WriteLine(b); } }}אבל לא ניראה לי שזה צריך להיות ככה.לא נראה לי שאני אמור לכתוב את כל המחלקה POINT בהתחלה, אני אמור איכשו לייבא אותה. אני אני עושה את זה?
פורסם 2011 ביולי 3114 שנים כמו שהסברתי לך מקודם - אתה צריך להוסיף קובץ חדש לפרוייקט (מומלץ לקרוא לו Point.cs) ולשים בו את המחלקה.לא ראית את הלינק ל"מדריך טכני להתקנה ושימוש ב-C# Express" שיש בסוף העמוד שקישרת אליו?
פורסם 2011 באוגוסט 114 שנים מחבר עשיתי את זה, אבל כדי להשתמש במחלקה POINT אני צריך לייבא אותה ע"י כתיבה בראש התוכנית : using.namespace.classובנוסף להוסיף הפניה למרחב השמות דרך : projects< add referanceהבעיה שאין לי מושג איזה קובץ אני צריך להוסיף. בשאלות הקודמות שעשיתי, כותבי הספר עשו את המחלקות ואני הייתי צריך להוסף את ההפניה למרחב השמות , קובץ עם סיומת dllאז יש לך מושג מה אני עושה עכשיו??
פורסם 2011 באוגוסט 114 שנים אם המחלקה יושבת באותו פרוייקט כמו ה-Main, אז לא צריך לעשות שום add reference. לא ברור לי איך הגעת לזה בכלל. ואם לא שינית במיוחד את ה-Namespace שבו יושבת המחלקה, אז היא תשב באותו Namespace כמו של כל שאר המחלקות בפרוייקט, ככה שגם לא צריך לעשות using.יעזור אם תעשה את הדברים הבאים:א. קרא את המדריך הטכני שבסוף הדף שקישרת אליו.ב. תמחק את הפרוייקט, תתחיל אותו מהתחלה. דאג שכל המחלקות שלך ישבו באותו פרוייקט (כלומר - כשאתה רוצה להוסיף מחלקה חדשה, תוסיף קובץ חדש לתוך הפרוייקט, אל תיצור פרוייקט חדש).ג. אם אתה עדיין לא מסתדר, תסביר צעד אחר צעד, באופן ברור, מה בדיוק עשית, ואפילו יעזור אם תעלה תצלום מסך של ה-Visual Studio שלך.
פורסם 2011 באוגוסט 1114 שנים ד"א , אין צורך בפונקציות getx למשל , עושים את זה ככה :private int x; public int X{get {return x;}set {x = value;}}אם זה C# 4 אז אפשר לעשות אפילו משהו יותר יפה :public int x {get;set;}
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.