ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# **类定义** ``` using System;//使用命名空间 namespace 空间的名称A { class A{ } class B{ } } namespace 空间的名称B { class A{ } class B{ } } ``` ~~~ <访问标识符,默认internal> class 类名><:基类> { // 成员变量 <访问标识符,默认private> <变量数据类型> variable1; <访问标识符,默认private> <变量数据类型> variable2; ... <访问标识符,默认private> <变量数据类型> variableN; // 成员方法 <访问标识符,默认private> <返回类型> method1(参数) { //code } <访问标识符,默认private> <返回类型> method2(参数) { // code } ... <访问标识符,默认private> <返回类型> methodN(参数) { // code } } ~~~ # **封装** * public:所有对象都可以访问; * private:对象本身在对象内部可以访问; * protected:只有该类对象及其子类对象可以访问 * internal:同一个程序集的对象可以访问; * protected internal:访问限于当前程序集或派生自包含类的类型。 ![](https://img.kancloud.cn/e4/a9/e4a9aae63ee7bfe3b7bdf84526fc49ad_240x239.png) **Internal 访问修饰符** **详解** Internal 访问修饰符允许一个类将其成员变量和成员函数暴露给当前程序中的其他函数和对象。换句话说,带有 internal 访问修饰符的任何成员可以被定义在该成员所定义的应用程序内的任何类或方法访问。 ~~~ using System; namespace RectangleApplication { class Rectangle { //成员变量 internal double length; internal double width; double GetArea() { return length * width; } public void Display() { Console.WriteLine("长度: {0}", length); Console.WriteLine("宽度: {0}", width); Console.WriteLine("面积: {0}", GetArea()); } }//end class Rectangle class ExecuteRectangle { static void Main(string[] args) { Rectangle r = new Rectangle(); r.length = 4.5; r.width = 3.5; r.Display(); Console.ReadLine(); } } } ~~~ **Protected Internal 访问修饰符** Protected Internal 访问修饰符允许在本类,派生类或者包含该类的程序集中访问。这也被用于实现继承。