假设类A是基类,而类B是A的子类(class B : A)。然后你有一个C类:C:B。
问题是如果在A类中有一个方法,那么C类能否使用该方法?
假设类A是基类,而类B是A的子类(class B : A)。然后你有一个C类:C:B。
问题是如果在A类中有一个方法,那么C类能否使用该方法?
using System;
class Base
{
public static void M() {
Console.WriteLine("Base.M");
}
}
class Derived: Base
{
new public class M
{
public static void F() {
Console.WriteLine("Derived.M.F");
}
}
}
class Test
{
static void Main() {
Derived.M.F();
}
}
显示一个嵌套类M,该类隐藏了在Base中定义的方法M。
这要看情况。
public class A
{
public int Id { get; set; }
protected int protectedId { get; set; }
private int privateId;
}
public class B : A
{
}
public class C : B
{
public C()
{
int temp = Id; // works
int temp1 = protectedId; // works
int temp2 = privateId; // does NOT work
}
}
而在其他一些类中;
public void SomeMethod()
{
C c = new C();
int i = c.Id; // works
int j = c.protectedId; // does NOT work
int k = c.privateId; // does NOT work
}
是的,当你从一个类继承时,你会得到它所有的方法,包括它从其他类继承来的方法。