C#基础6 属性、静态与非静态

结合自己理解和老师的教学编写https://blog.csdn.net/NCZ9_/article/details/83855838

一、属性

概念:

字段:又称为:“成员变量”,一般在类的内部做数据交互使用。

属性:是字段的一种自然扩展,是一个与类或对象相关联的命名。作用:保护字段,对字段取值与赋值进行限定。

语法格式:

1、代码示例:

public string Game
{
   get;
   set;
}

访问修饰符 数据类型 属性名

{

  get;        //读

  set;        //写

}

2、代码示例:

访问修饰符 数据类型 字段名;

访问修饰符 数据类型 属性名

{

get { return 字段名; }        //读

set { 字段名 = value; }      //写

}

 

private string _game;  //字段     
public string Game     //属性(含有代码块)   
{       
    get                //get访问器          
    {          
        return _game;  //读取(返回_name值)        
    }       
    set                //set访问器
    {          
        _game = value; //为_name赋值        
    }
}

二、静态与非静态

关键词:static 

在类中可以定义为静态的成员有:字段,方法,属性,运算符,事件,构造函数等,不可以是索引器,析构函数。

静态成员与非静态成员/实例成员区别:

1、

静态成员属于类所有,为各个类的实例所公用。

非静态成员属于类的实例所有

2、

静态成员可以直接使用,不必创建对象,语法格式:类名.静态成员

调用非静态成员,要先实例化类

3、静态方法与非静态方法

静态方法只能访问类中的静态成员;

非静态方法可以访问类中的任何成员

4、

静态成员变量存储位于程序的全局变量存储区,其作用域限制为类内部,并且在整个程序运行期间只在内存中拥有一个存储位置,不会拷贝不会复制,只是一个;

非静态成员变量存储位于对象的变量存储区,多个对象拥有多个变量的存储,只隶属于自己的的对象。

5、

静态成员只要分配了空间则在整个程序运行期间,它都是存在的,只有程序关闭之后,它的内存才会被GC回收器收回;

类的非静态成员的生存周期跟随于隶属于对象的生存周期,对象消亡则非静态成员就会被回收。

静态类与非静态类区别:

1、

静态类仅包含静态成员。

2、

静态类不能使用 new 关键字创建静态类的实例。

3、

静态类不能包含实例构造函数,但仍可声明静态构造函数以分配初始值或设置某个静态状态。

4、

静态类是密封的,因此不可被继承。

5、

静态类不能使用abstract或sealed修饰符。

6、

静态类不能指定任何接口实现。

7、

静态类的成员不能有protected或protected internal访问保护修饰符。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值