在C#语言中,共有五种访问修饰符:public、private、protected、internal、protected internal。作用范围如下表:
访问修饰符 说明
public 公有访问。不受任何限制。
private 私有访问。只限于本类成员访问,子类,实例都不能访问。
protected 保护访问。只限于本类和子类访问,实例不能访问。
internal 内部访问。只限于本项目内访问,其他不能访问。
protected internal 内部保护访问。只限于本项目或是子类访问,其他不能访问
C#成员类型的可修饰及默认修饰符如下表:
成员类型 默认修饰符 可被修饰符
enum public none
class private public、protected、internal、private、
protected internal
interface public none
struct private public、internal、private
下面我就结合实例,讲一下public、private、protected、internal和protected internal的作用范围。
如下代码:
[csharp] view plain copy using System; using System.Collections.Generic; using System.Text; namespace AccessModifier { public class AccessModifierClass { public string GetPublicString() { return "Public String"; } protected string GetProtectedString() { return "Protected String"; } private string GetPrivateString() { return "Private String"; } internal string GetInternalString() { return "Internal String"; } protected internal string GetProtectedInternalString() { return "Protected Internal String"; } void AvailableAccessModifier() { this.GetPublicString(); this.GetPrivateString(); this.GetInternalString(); this.GetProtectedInternalString(); this.GetProtectedString(); } } public class TestAccessModifierClass1 { void AvailableAccessModifier() { AccessModifierClass item = new AccessModifierClass(); item.GetPublicString(); item.GetInternalString(); item.GetProtectedInternalString(); } } public class TestAccessModifierClass2 : AccessModifierClass { void AvailableAccessModifier() { AccessModifierClass item = new AccessModifierClass(); item.GetPublicString(); item.GetInternalString(); item.GetProtectedInternalString(); base.GetProtectedString(); } } }
AccessModifierClass 是我们的访问修饰符类,里面有五种访问修饰符方法,可见在 AccessModifierClass 类里面的 AvailableAccessModifier() 方法可以访问所有的方法。
在 TestAccessModifierClass1 类中的 AvailableAccessModifier() 方法只能访问 public、Internal 和 Protected Internal 方法。
TestAccessModifierClass2 类继承自 AccessModifierClass 类,所以它的 AvailableAccessModifier() 方法可以访问 public,internal,protected和protected internal 方法。
以上是C#中五种访问修饰符作用范围实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

在java中,private的意思为“私有的”,是一种访问控制修饰符,用于修饰类、属性和方法。用private修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用;因此,private修饰符具有最高的保护级别。

当今人工智能(AI)技术的发展如火如荼,它们在各个领域都展现出了巨大的潜力和影响力。今天大姚给大家分享4个.NET开源的AI模型LLM相关的项目框架,希望能为大家提供一些参考。https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel是一种开源的软件开发工具包(SDK),旨在将大型语言模型(LLM)如OpenAI、Azure

在高并发请求处理方面,.NETASP.NETCoreWebAPI性能优于JavaSpringMVC,原因包括:AOT提前编译,减少启动时间;更精细的内存管理,由开发人员负责分配和释放对象内存。

private是一种Java访问权限修饰符,它限制函数的可访问性,只允许在定义它的类中访问,包括:在其他类中无法访问该函数。在子类中也无法访问该函数。

如果你是一名.NET开发者,你必须意识到在交付高质量软件方面,优化功能和性能的重要性。通过熟练使用提供的资源并减少网站加载时间,你不仅为用户创造了愉快的体验,还能减少基础设施成本。

不,我们不能将顶级类声明为私有或受保护。它可以是公共或默认(无修饰符)。如果没有修饰符,则应该具有默认访问权限。语法//Atoplevelclass publicclassTopLevelClassTest{ //Classbody}如果将一个顶级类声明为私有(private),编译器将会报错,提示“在此处不允许使用修饰符private”。这意味着顶级类不能是私有的,同样也适用于protected访问

Accessmodifiersareusedtosetthefeatureofvisibilityofsomeparticularclasses,interfaces,variables,methods,constructors,datamembers,andthesettermethodsinJavaprogramminglanguage.在Java环境中,我们有不同类型的访问修饰符。默认-如果我们声明一个函数,它只会在特定的包中可见。Private-如果我们声明一个函数,它只能在特定的类中可


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

记事本++7.3.1
好用且免费的代码编辑器

Atom编辑器mac版下载
最流行的的开源编辑器