C#难点逐个击破(5):类的访问类型

所属分类: 软件编程 / C#教程 阅读数: 110
收藏 0 赞 0 分享
讲这四类之间的区别时有必要讲解一个概念:程序集。程序集(Assembly),可以简单理解为编译之后生成的.dll或.exe文件,相对于namespace是类库的逻辑组织形式,它可以称为程序类库的物理组织形式,msdn上描述“程序集包含描述它们自己的内部版本号和它们包含的所有数据和对象类型的详细信息的元数据”。一般情况是一个程序集可以包含一个或者多个命名空间。

Public:对其他任何类的任何方法都是可见的;
Private:本类中定义的成员只有本类的方法才能访问;
Protected:本类中的成员只有本类的方法及继承本类的类的方法才能访问;
internal:本类中的成员只有本类所在的程序集中的任何类的方法访问;
protected internal:为protected与internal的并集。
因此从访问级别由高到低应当是Public>protected internal>internal>Protected>Private

类的默认修饰符为internal ,类中的成员变量默认修饰符为private,namespace可认为修饰符为public。另一点在msdn上也提到继承类的访问级别不能大于被继承类的访问级别,如internal的类不能继承private的类。
复制代码 代码如下:

using System;

/******************************
* Chapter:C#难点逐个击破(五)
* Author:王洪剑
* Date:2010-1-15
* Blog:http://www.51obj.cn/
* Email:walkingp@126.com
* Description:访问修改符
* ***************************/
namespace TestMain
{
public class A
{
public void Alert()
{
}
}

internal class B:A
{
internal new void Alert()
{
Console.WriteLine("you");
}
}

class Program
{
static void Main()
{
B b=new B();
b.Alert();

}
}
}
更多精彩内容其他人还在看

C# SendInput 模拟鼠标操作的实现方法

C# SendInput 模拟鼠标操作的实现方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#中 paint()与Onpaint()的区别

paint是事件onpaint方法onpaint方法是调用paint事件的,用哪一个,效果是一样,就看那一个方便了内部是这样实现的:
收藏 0 赞 0 分享

c#中GetType()与Typeof()的区别

c#中GetType()与Typeof()的区别,需要的朋友可以参考一下
收藏 0 赞 0 分享

将字符串转换成System.Drawing.Color类型的方法

将字符串转换成System.Drawing.Color类型的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# 抓取网页内容的方法

C# 抓取网页内容的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

基于C#后台调用跨域MVC服务及带Cookie验证的实现

本篇文章介绍了,基于C#后台调用跨域MVC服务及带Cookie验证的实现。需要的朋友参考下
收藏 0 赞 0 分享

使用C#获取远程图片 Form用户名与密码Authorization认证的实现

本篇文章介绍了,使用C#获取远程图片 Form用户名与密码Authorization认证的实现。需要的朋友参考下
收藏 0 赞 0 分享

Winform跨线程操作的简单方法

线程间操作无效:从不是创建控件“label1”的线程访问它
收藏 0 赞 0 分享

C# WINFORM 强制让窗体获得焦点的方法代码

C# WINFORM 强制让窗体获得焦点的方法代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#中方括号[]的语法及作用介绍

C#中方括号[]可用于数组,索引、属性,更重要的是用于外部DLL类库的引用。
收藏 0 赞 0 分享
查看更多