PDA

View Full Version : عدم دسترسی به تابع تعریف شده در کلاس فرزند



resident
پنج شنبه 07 شهریور 1392, 15:19 عصر
سلام.
من 2 کلاس به صورت زیر دارم:


public abstract class parent
{
public void a()
{
//
}
public void b()
{
//
}
}

public class child:parent
{
public void c()
{
//
}
}

حالا وقتی از کلاس child نمونه سازی می کنم تابع c از کلاس child رو نمی شناسه.چرا؟؟؟؟

rezaricky
پنج شنبه 07 شهریور 1392, 16:32 عصر
سلام
من کدتو تست کردم هیچ مشکلی نداشت.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
public abstract class parent
{
public void a()
{
//
}
public void b()
{
//
}
}

public class child : parent
{
public void c()
{
//
}
}
class Program
{
static void Main(string[] args)
{
child obj= new child();
obj.c();
}
}
}

مهرداد صفا
پنج شنبه 07 شهریور 1392, 17:03 عصر
سلام.
من 2 کلاس به صورت زیر دارم:


public abstract class parent
{
public void a()
{
//
}
public void b()
{
//
}
}

public class child:parent
{
public void c()
{
//
}
}

حالا وقتی از کلاس child نمونه سازی می کنم تابع c از کلاس child رو نمی شناسه.چرا؟؟؟؟

با سلام.
احتمالا شما متغیر را از نوع parent تعریف کردید. شبیه به این:


parent x=new child();

که در این صورت به این شکل می توانید به اعضای آن دسترسی داشته باشید:


(x as child).c();

ولی اگر متغیر از نوع child تعریف شود مشکل خاصی وجود نخواهد داشت.

resident
پنج شنبه 07 شهریور 1392, 17:11 عصر
با روش جناب صفا حل شد.
متشکرم