איך יוצרים/משתמשים במחללקות-C# - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

איך יוצרים/משתמשים במחללקות-C#


raiman1

Recommended Posts

זה תרגיל מספר אז תיכנסו כאן לפרק 3 עמודים 65-66.

עשיתי את החצי הראשון של חלק א (עשיתי את המחלקה point)

אבל נתקעתי בהמשך, במחלקה TESTPOINT : אני צריך להשתמש בפעולות של המחלקה POINT , אבל זה לא מזהה אותם.

איך מסדרים את זה??

בנוסף הבנתי שצריך לשמור מחלקה עם סיומת .CS אז איך אני עושה את זה? אני לוחץ על save all ואז במקום של השם אני רושם point.cs??

תודה רבה לכל העוזרים. :xyxthumbs:

קישור לתוכן
שתף באתרים אחרים

תערוך בבקשה את הכותרת כך שתכיל את תמצית השאלה.

איך יצרת את הפרוייקט שלך?

איך אתה מוסיף מחלקות חדשות?

בעקרון נהוג שכל מחלקה יושבת בקובץ משלה, ששמו זהה לשם המחלקה (כלומר, המחלקה TestPoint צריכה לשבת בקובץ בשם TestPoint.cs). תחת תפריט File>New>File אתה יכול להוסיף קובץ חדש, או כפתור ימני על הפרוייקט ומשם Add > New Item. אני מניח שבתרגיל מצפים ממך ששתי המחלקות הללו ישבו בתוך אותו פרויקט.

קישור לתוכן
שתף באתרים אחרים

תערוך בבקשה את הכותרת כך שתכיל את תמצית השאלה.

איך יצרת את הפרוייקט שלך?

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

אני מניח שבתרגיל מצפים ממך ששתי המחלקות הללו ישבו בתוך אותו פרויקט. הם אמרו לי לשמור את המחלקה TESTPOINT בקובץ TESTPOINS.CS אז לא נראה לי שזה צריך להיות באותו פרוייקט

[

תודה על העזרה גבר :xyxthumbs:

קישור לתוכן
שתף באתרים אחרים

ככה כתבתי את המחלקה. ככה זה אמור להיות??

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;
}
}


}

קישור לתוכן
שתף באתרים אחרים

המשכתי. לא הבנתי איך אני מפעיל את זה.

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;

}

}



קישור לתוכן
שתף באתרים אחרים

א. לא ככה צריכה להיראות פונקציית Main. אם אתה לא יודע איך אמורה להיראות פונקציית Main, אז תחזור אחורה בספר.

ב. לא מדפיסים באמצעות return. למעשה, בספר כתוב לך בדיוק איך אתה אמור להדפיס.

קישור לתוכן
שתף באתרים אחרים

עשיתי את זה וזה עובד



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 בהתחלה, אני אמור איכשו לייבא אותה. אני אני עושה את זה?

קישור לתוכן
שתף באתרים אחרים

כמו שהסברתי לך מקודם - אתה צריך להוסיף קובץ חדש לפרוייקט (מומלץ לקרוא לו Point.cs) ולשים בו את המחלקה.

לא ראית את הלינק ל"מדריך טכני להתקנה ושימוש ב-C# Express" שיש בסוף העמוד שקישרת אליו?

קישור לתוכן
שתף באתרים אחרים

עשיתי את זה, אבל כדי להשתמש במחלקה POINT אני צריך לייבא אותה ע"י כתיבה בראש התוכנית : using.namespace.class

ובנוסף להוסיף הפניה למרחב השמות דרך : projects< add referance

הבעיה שאין לי מושג איזה קובץ אני צריך להוסיף.

בשאלות הקודמות שעשיתי, כותבי הספר עשו את המחלקות ואני הייתי צריך להוסף את ההפניה למרחב השמות , קובץ עם סיומת dll

אז יש לך מושג מה אני עושה עכשיו??

קישור לתוכן
שתף באתרים אחרים

אם המחלקה יושבת באותו פרוייקט כמו ה-Main, אז לא צריך לעשות שום add reference. לא ברור לי איך הגעת לזה בכלל. ואם לא שינית במיוחד את ה-Namespace שבו יושבת המחלקה, אז היא תשב באותו Namespace כמו של כל שאר המחלקות בפרוייקט, ככה שגם לא צריך לעשות using.

יעזור אם תעשה את הדברים הבאים:

א. קרא את המדריך הטכני שבסוף הדף שקישרת אליו.

ב. תמחק את הפרוייקט, תתחיל אותו מהתחלה. דאג שכל המחלקות שלך ישבו באותו פרוייקט (כלומר - כשאתה רוצה להוסיף מחלקה חדשה, תוסיף קובץ חדש לתוך הפרוייקט, אל תיצור פרוייקט חדש).

ג. אם אתה עדיין לא מסתדר, תסביר צעד אחר צעד, באופן ברור, מה בדיוק עשית, ואפילו יעזור אם תעלה תצלום מסך של ה-Visual Studio שלך.

קישור לתוכן
שתף באתרים אחרים

  • 2 שבועות מאוחר יותר...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...