当前位置:首页 » 文件传输 » 类成员有几种可访问性
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

类成员有几种可访问性

发布时间: 2023-04-01 03:28:31

⑴ c#中访问级别有哪些

共有4种。
private :限制为私有访问。该修饰符只能用于类和结构的成员,如果成员未加访问限制修饰符,则默认为private,对于在命名空间下直接定义的类型(如类,结构,接口,枚举,委托等),不允许使用private。
对于类和结构的成员,如果声明为私有的,那么只有其所在类或结构中的其他成员可以访问。
public:共有访问。该修饰符可用于类和结构的成员,可用于命名空间下直接定义的类型。
对于类和结构成员,如果声明为共有的,那么除自身的成员,外部成员也可以访问。
protected:限制为保护访问。该修饰符只能用于类的成员,而对结构的成员以及在命名空间下直接定义的类型无效。
如果类的成员被声明为保护的,那么只有其所在的类及派生类中的成员可以访问,无法从类的外部进行访问。
internal:限制为内部访问。该修饰符可用户类和结构的成员,也可用于命名空间下直接定义的类型。任何一种类型或成员如果声明为内部的,那么它在本程序集内可以被自由访问,对其他程序集来说是隐藏的。

protected和internal二者可以同时使用,只能用于类的成员,该成员只有其所在类及派生类中的成员可以访问。

⑵ 简述 private、 protected、 public、 internal 修饰符的访问权限。

public:类或成员可以由同一程序集中的任何其他代码或引用它的另一个程序集访问。

private:只能通过同一个类或结构中的代码访问类型或成员。

protected:类或成员只能由同一个类中的代码访问,或者在从该类派生的类中访问。

internal:类或成员可以由同一程序集中的任何代码访问,但不能从另一个程序集访问。

(2)类成员有几种可访问性扩展阅读:

private、 protected、 public、 internal 修饰符除了可以单独使用,还可以组合使用。

protected internal:访问仅限于从包含类派生的当前程序集或类型。

private protected: 访问仅限于从当前程序集中的包含类派生的包含类或类型。

除了使用protected internal或private protected组合时,成员或类只允许使用一个访问修

饰符。名称空间上不允许访问修饰符。命名空间没有访问限制。

根据成员声明发生的上下文,仅允许某些声明的可访问性。如果在成员声明中未指定访问修饰

符,则使用默认辅助功能。

顶级类型(不嵌套在其他类型中)只能具有internal或public可访问性。这些类型的默认可访

问性是internal。

⑶ 不同访问属性对类成员的访问的限制都有什么,不同访问属性,对类成员的访问限制都有什么

类成员的访问属性一般有:public,private,protected
public可以被外部类或函数访问,没有限制
private只有定义这个变量的类内部可以访问
protected只有该类和其子类能够访问
internal(C#)只能被当前的应用程序访问
default(Java)只能被当前的包访问,并且子类无法访问

⑷ 在开发C#程序过程中,如果定义的类不写访问修饰符,则类默认的访问类型是

1.命名空间下的元素的默认访问修饰符
public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。
internal : 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问。

2.各类型中的成员的默认访问修饰符
剩下的修饰符主要是正对继承这个语言特性的,拥有继承的类型有两个类(class)和接口(interface)。public,internal同样可以用于类型成员。
private : 同一类和结构的代码可以访问该类型和成员。
protected : 同一类和派生(继承特性)类中的代码可以访问该类型和成员。
protected internal : 同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。

MSDN提示 :
1.) 派生类的可访问性不能高于其基类型。换句话说,不能有从内部类 A 派生的公共类 B。如果允许这种情况,将会使 A 成为公共类,因为 A 的所有受保护的成员或内部成员都可以从派生类访问。
2.) 成员的可访问性决不能高于其包含类型的可访问性。
3.) 可以使用五种访问类型中的任何一种来声明类成员(包括嵌套的类和结构)。

接口(interface)
接口成员访问修饰符默认为public,且不能显示使用访问修饰符。

类(class)
构造函数默认为public访问修饰符。
析构函数不能显示使用访问修饰符且默认为private访问修饰符。
类的成员默认访问修饰符为private;

枚举(enum)
枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。

结构(struct)
结构成员默认为private修饰符。
结构成员无法声明为protected成员,因为结构不支持继承。

嵌套类型
嵌套类型的默认访问修饰符为private。 和类,结构的成员默认访问类型一致。

⑸ C++,私有的类成员函数怎么访问

类的成员变量分三种: public protect private

1、类的成员函数可以访问类这三类
2、继承类成员函数可以访问 protect 类型
3、只有本身类的成员函数才可以访问 private 类型

4、类的对象若在其他函数中是不可以访问类的 protect private类型变量

类其实是个模型。
而对象就是找个这个模型制作的实体。
比如,类是造车的图纸,对象就是找个图纸造出的汽车。
类的成员是分级别的:protect,public,private。
在类内部定义的函数可以访问任何一个变量,或者调用任何的类内部的函数,但是,如果被定义成private的话,对象是不能调用的,也就是对象只能调用定义为public的数据,如果你确实需要调用某个private的变量,你可以定义一个public的函数来返回这个变量,比如:
class D
{
private:
int a;
public:
int Getint(){return a;}
......
}
这里你的对象不能调用a的,
也就是不能
int b;
D d;//假设已经写好了构造函数
b=d.a;//这是错误的,
但是你可以
b=d.Getint();
这样就可以把a的值给b了。
所有的public的函数都可以通过
<对象>.<函数名>
的方式来调用

⑹ 子类能访问父类的哪些成员

1、能够访问标为public protected的成员变量和方法;
2、如果子类与父类在同一包内,还能访问默认(无修饰符)的成员变量与方法。
3、不能访问标为private的成员。