09-08-2005, 16:42
|
|
|
חבר מתאריך: 24.06.02
הודעות: 2,531
|
|
צריך עזרה בקוד C#.
קוד PHP:
// inherit04.cs - Virtual Methods
//===============================================
using System;
class Person
{
protected string firstName;
protected string lastName;
public Person()
{
}
public Person(string fn, string ln)
{
firstName = fn;
lastName = ln;
}
public virtual void displayFullName()
{
Console.WriteLine("{0} {1}", firstName, lastName);
}
}
class Contractor : Person
{
public string company;
public Contractor()
: base()
{
}
public Contractor(string fn, string ln, string c)
: base(fn, ln)
{
company = c;
}
public override void displayFullName()
{
Console.WriteLine("Contractor: {0} {1}", firstName, lastName);
}
}
class NameApp
{
public static void Main()
{
Person Brad = new Person("Bradley", "Jones");
Person Greg = new Contractor("Hill", "Batfield", "Data Diggers");
Brad.displayFullName();
Greg.displayFullName();
}
}
נכון ש"displayFullName" מוכרז כVIRTUAL בPERSON וכך אפשר לגשת אליו
בשיטה הנגזרת Contractor.
ככה:
קוד:
Greg.displayFullName();
עכשיו השאלה שלי היא פשוטה, אם אני רוצה לגשת ל"displayFullName" שנמצא בPerson (השיטה הוירטואלית) באמצעות האובייקט Gerg איך אני עושה את זה ?
כלומר, פעם אחת לגשת לשיטה "displayFullName" במחלקה Contractor ובאותו קוד, פעם שניה
לגשת ל"displayFullName" במחלקה Person. שנהם באמצעות האובייקט Greg.
תודה.
|