`
碧落海的风
  • 浏览: 13762 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

C#类修饰符见解

    博客分类:
  • .net
阅读更多

类修饰符:public、internal、partial、abstract、sealed、static

成员修符:public、protected、private、internal、sealed、abstract、virtual、override、readonly、const


Public:最开放,所有的本程序集以及其他的程序集里面的对象都能够访问


Protected:比较开放,自身成员以及子类成员可访问


Private:只有自身成员才能够访问


Internal:本程序集内的成员可以访问


Partial:部分类,可以将一个类分成几部分写在不同文件中,最终编译时将合并成一个文件,且各个部分不能分散在不同程序集中


Abstract:修饰类的时候表示该类为抽象类,不能够创建该类的实例。修饰方法的时候表示该方法需要由子类来实现,如果子类没有实现该方法那么子类同样是抽象类;且含有抽象方法的类一定是抽象类


Sealed:修饰类时表示该类不能够被继承,修饰方法时表示该方法不能被覆写。


Static:修饰类时表示该类时静态类,不能够实例化该类的对象,既然不能实例化该类,那么这个类也就不能够含有对象成员,即该类所有成员为静态;修饰类成员时,该成员为类成员,只能通过【类.成员名】的方式访问


 

当static修饰构造函数时,构造函数不能含有任何参数,不能含有修饰符,构造函数不能对对象成员进

行初始化操作。但是能够对静态成员进行初始化或者调用。不能保证他在什么时候执行,却能保证在第一次使用类

型前执行。在静态构造函数中初始化的静态成员为最终初始化结果。例如:

  1. public static int test = 0;  
  2. static Person()  
  3. {  
  4.     test = 3;  
  5. }  
  6.   
  7.   
  8. static void Main(string[] args)  
  9. {  
  10.     Console.WriteLine(Person.test);//运行结果为3  
  11. }  

注意:当一个类或方法没有被任何修饰符修饰时,默认为internal: 
C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限制修饰符:

public可以被任意存取; 
protected只可以被本类和其继承子类存取; 

internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,

其编译后的文件扩展名往往是“.DLL”或“.EXE”。

protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。 
private只可以被本类所存取。 
如果不是嵌套的类,命名空间或编译单元内的类只有public和internal两种修饰。

new修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏。

abstract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。抽象类可以包含抽象的成

员,但这并非必须。abstract不能和new同时用。

0
5
分享到:
评论

相关推荐

    C# in Depth C# in Depth

    这部分内容不仅涵盖了如何设计和实现类,还涉及接口、抽象类和访问修饰符的使用,以及如何通过这些工具来创建可复用、可扩展的代码结构。 泛型是C#中提高类型安全性和效率的重要特性,它们允许编写可重用的代码,而...

    Visual C# 2005开发技术 PDF

    2. **面向对象编程**:深入讲解封装、继承和多态等面向对象原则,以及抽象类、接口和访问修饰符的使用,使读者能够熟练地设计和实现复杂的软件结构。 3. **异常处理**:通过异常处理机制,学习如何在代码中捕获和...

    C#程序设计课件(共10讲)

    此外,可能还会涉及接口、抽象类以及访问修饰符等OOP特性。 3. **.NET框架**:第五讲可能会介绍.NET框架,包括CLR(Common Language Runtime)的工作原理,以及如何利用.NET类库进行开发。这部分内容有助于理解C#...

    微软C#编程指导书

    - **成员访问**:根据访问修饰符控制对成员的访问权限。 - **签名与重载**:方法的唯一标识及其多态性。 - **范围与命名空间**:控制变量的作用域,组织代码结构。 - **自动内存管理**:垃圾回收机制,自动管理对象...

    C#编码好习惯,格式、代码

    类与成员访问修饰符 - **避免内部访问**:除非必要,否则不使用`internal`访问修饰符。 - **避免友元程序集**:减少程序集间的耦合,避免使用`friend`关键字。 ### 6. 枚举与类型定义 - **枚举初始化**:枚举...

    Essential C#

    这部分深入讲解了C#的基本语法和结构,包括标识符、类型、变量、表达式、运算符、语句、类型组织、继承、访问修饰符、类和结构、接口、数组、枚举、委托、事件、异常处理、属性、不安全代码和指针、预处理器指令以及...

    c# 的良好编程习惯

    14. **访问修饰符**:只对外公布必要的公共接口,其余用internal修饰,降低组件间的耦合。 15. **避免友元程序集(Friend Assemblies)**:减少程序集间的依赖关系。 16. **应用程序集设计**:保持最小化的可执行...

    c#代码规范(中文txt版)

    12. **使用`readonly`修饰符**:对于不会改变的字段,使用`readonly`代替`const`,以便于在构造函数中赋值。 13. **示例**: ```csharp public class MyClass { public readonly int Number; public MyClass...

    C#编程的好习惯,好习惯可以是我们的程序更加易读

    - **访问修饰符**:限制对内部成员的访问权限,尽可能使用`private`修饰符。 - **避免使用friend assemblies**:减少组件之间的耦合度。 - **避免依赖特定路径**:确保程序在不同环境中都能正常运行。 #### 9. 设计...

    大牛们的C#编码习惯

    14. **访问修饰符**:避免过度使用`public`和`protected`访问修饰符,以减少不必要的暴露。 15. **继承与重写**:在使用继承时,谨慎使用`new`关键字来隐藏基类成员;优先使用`override`来实现多态行为。 16. **...

    java .net 面试题目合集 和尚学堂面试笔记 程序员面试宝典

    2. **类与对象**:构造器、访问修饰符、抽象类、接口、内部类的概念和使用。 3. **集合框架**:ArrayList、LinkedList、HashSet、HashMap的区别和使用场景,以及泛型的理解。 4. **异常处理**:try-catch-finally...

    C_编码好习惯,献给所有热爱c_的同志C_编码好习惯,献给所有热爱c_的同志

    - 使用 `internal` 访问修饰符限制类和方法的可见性,这有助于减少不必要的耦合。 3. **避免使用 `friend` 程序集**: - 这种做法会增加程序集间的耦合度,应尽量避免。 4. **使应用程序集尽量为最小化代码**: -...

    高质量C++编程指南

    - **程序的版式**:探讨了代码格式规范,如空行使用、代码行布局、代码行内空格、对齐、长行拆分、修饰符位置、注释风格和类的布局。 - **命名规则**:提供了通用规则,以及针对不同操作系统环境(如Windows和Unix)...

Global site tag (gtag.js) - Google Analytics