访问权限为protected的类成员可被访问的范围是什么?
5个回答
展开全部
protected是访问控制的一种 。在类中被protected修饰的函数或数据成员,只能被该类或其子类的以及其友元函数访问。
特别要注意的是:访问权限为protected的类成员不能被该类的实例对象或其子类的实例对象访问。以下的C#代码演示了这一点
// 父类
public class Father
{
protected int x;
public Father()
{
// 正确!
x = 10;
}
public void ShowX()
{
// 正确!
Console.Write( "x = {0}", x);
}
}
// 子类
public class Son : Father
{
public Son() : base()
{
// 正确!
x = 100;
}
public void ShowXSon()
{
// 正确!
Console.Write( "x = {0}", x);
}
}
class Program
{
static void Main(string[] args)
{
Father f = new Father();
// f.x = 30; <--错误!!!
f.ShowX();
Son s = new Son();
// s.x = 20; <--错误!!!
s.ShowXSon();
}
}
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
2013-11-25
展开全部
除 被本类或者派生类(子类)的成员函数访问外 还有本包内所有类访问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-25
展开全部
本类及其派生类中。也就是说他是祖传的。继承了他就可以访问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-25
展开全部
成员只能被本类或者派生类(子类)的成员函数访问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-25
展开全部
public: 对任何类和成员都公开, 无限制访问(公开的);
protected: 仅仅对该类以及该类的派生类公开(即当前类及子类);
private: 仅仅对该类公开(即当前类私有化);
internal: 只能值包含该类的程序集中访问该类(只是单独的项目,而不是整个解决方案);
protected internal: 只能在本类,派生类或者包含该类的程序集中访问(当前类,子类的程序集).
protected: 仅仅对该类以及该类的派生类公开(即当前类及子类);
private: 仅仅对该类公开(即当前类私有化);
internal: 只能值包含该类的程序集中访问该类(只是单独的项目,而不是整个解决方案);
protected internal: 只能在本类,派生类或者包含该类的程序集中访问(当前类,子类的程序集).
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询