zoukankan      html  css  js  c++  java
  • 一、C#图解教程第六章--深入理解类

    一、类成员
    二、类的成员修饰符的顺序
     [特性] [修饰符] 核心声明
          多个修饰符和特性顺序任意
    三、类的实例成员
    类的每个实例都拥有各个类成员的副本,改变一个类实例成员后不影响其他的类的实例成员
     
     
    四、静态字段
    静态字段被所有的实例共享,所有类的实例都可以访问静态字段,内存位置唯一。
     扩展:
    静态成员和实例成员:
    静态成员:静态属性 静态字段 静态方法
     静态类中只能有静态成员,不能有实例成员
    非静态类中既可以有静态成员也可以有非静态成员
    可以用类名直接去调用静态成员
    静态成员和实例成员的区别:
    静态成员需要通过static修饰,非静态成员不需要通过static修饰;
    静态成员属于类,可以直接通过“类名.静态成员”的方式访问;
    非静态成员,必须实例化对象后,通过对象.实例成员来访问; 
     
    当类第一次加载的时候(第一次被加载到内存的时候),该类下的所有的静态成员都会被加载,静态成员只创建一次。
    实例成员有多少个对象,就会创建多少个对象;
    静态成员会被加载到静态存储区,直到程序退出时才会被释放;
     
     
    实例成员和静态成员的生命周期:
    (1) 实例成员在实例创建后产生,实例销毁后实例成员不存在
    (2)静态成员没有类的实例也存在,静态成员在第一次被调用时初始化。
     
    静态成员函数:
    (1) 没有实例依然可以调用静态方法
    (2)静态成员不能访问实例成员,可以访问其他静态成员
     
    其他静态成员类型:
     
    成员常量
    (1)声明在类声明中,值在编译时可计算
    (2)不能在声明后再赋值
    (3)具备静态量的表现,但在程序运行时不分配内存,在编译时被编译器替换掉。
     
    属性
    属性属于函数成员,不为数据分配内存,可执行代码
     
    在为字段修改逻辑时访问字段的其他程序都需要修改,如果使用属性则只需要修改属性即可,使用属性的代码不需要重新编译。
     
     
    实例构造函数
    实例构造函数可以设置为Public,允许从外部调用构造函数,如果设置为private则只可以在类的内部调用构造函数。
     
    静态构造函数
     
     
     
    析构函数
    在执行类的实例被销毁之前的非托管资源的行为。
     
    this关键字的作用:
    (1) 用于区分类的成员和本地变量和参数
    (2)作为调用方法的实参
    this在C#中的用法:
    (1) this作为当前实例的对象
    (2)串联构造函数(先执行无参数的构造函数,后执行有参数的构造函数)
    (3)为原始类扩展方法
    (4)索引器
     
    索引器:
    (1)索引器和属性一样,都不需要分配内存来存储
    (2)索引器和属性一样都是用来访问数据成员,属性表示单独的数据成员,索引器表示多个数据成员。
     
     
     
     
    索引器重载:
    索引器有不同的参数列表
    访问器级别:
     
     
     
    分部类和分部类型
    partical可以用在class struct(局部结构)和interfer(局部接口)中
     
    分部方法:
    注意:
    返回类型必须是Void
     

  • 相关阅读:
    Activity详解
    Log和LogCat的使用
    Android Studio项目目录结构
    Android系统架构
    [SCOI2016]美味
    [SCOI2016]背单词
    [SCOI2016]幸运数字
    [BZOJ4170]极光
    [JSOI2016]扭动的回文串
    [SCOI2016]萌萌哒
  • 原文地址:https://www.cnblogs.com/shougoule/p/13193729.html
Copyright © 2011-2022 走看看