我有2个类,Child
类继承Parent
类。方法调用继承类
public class Parent
{
public string item{get;set;}
}
public class Child : Parent
{
}
public static void ConsoleWrite(Parent pitem)
{
Console.Write(pitem.item);
}
public static void Main()
{
ConsoleWrite(new Child(){item = "foo"});
}
https://dotnetfiddle.net/yPriNl
的ConsoleWrite
方法应该只能用Parent
对象调用,但它也可以用一个Child
对象调用。有没有办法来阻止呢?
为什么继承,如果你想阻止它?孩子具有父母的所有功能,所以它也可以在控制台上书写 –
是的,可能的是,您只需要将继承从父母移除到孩子。这可能不是你想要的,在这种情况下,不,这是不可能的。这是OOP的基本规则。你已经说过,每个孩子也是父母,因此他们可以在父母预期的任何地方使用。 –
@TimSchmelter我想阻止它只为一个方法,这是只为“父”对象,并没有意义的调用与继承对象 – Toshi