美文网首页
c# 面向对象1--类和对象/字段和属性/static关键字

c# 面向对象1--类和对象/字段和属性/static关键字

作者: Mona_Song | 来源:发表于2021-03-18 22:27 被阅读0次

    1.了解类和对象

    从面向过程到面向对象
    面向过程过分强调人的存在,面向对象对每个人都一致(大象是对象)
    • 面向对象:意在屏蔽差异,写出一个通用的过程
    • 找对象:被动的是对象
    • 对象:看得见摸得着的(特指)
    • 类:把具有相同属性相同方法的对象进一步封装,抽象出类这个概念;
      类包含{字段,变量,方法,构造函数};
      类中的成员,如果不加访问修饰符,默认都是private的;
    • 注意:类不占内存,对象占内存

    2.字段和属性

    字段和属性
    • 字段可以存多个值,变量可以存一个值
    • 字段前面必须加下划线(书写习惯)
    • 属性和字段:
      1)属性的作用就是保护字段,对字段的赋值和取值进行限定(在get或set里面作限定都可以)。属性的本质就是两个方法,一个叫get(),一个叫set()。
      2)赋值时给属性赋值,不再给字段赋值(虽然是给属性赋值,实际上属性内部完成了给字段的赋值)
      3)字段是方法内部的,一般是private的;属性是与外界交互的,一般是public的。属性要把字段“保护”起来,不能让外界随便的访问到字段。
    //这种代码如何得知属性给了哪个字段呢?还是怎么解决的这个问题
     public int FreeTiltDirection
            { get; set; }
    

    3.static关键字

    • 有static:
      static修饰的静态方法,调用时(类名.方法名),main函数和要调用的方法在同一个类里面,在调用时可以省略类名
    • 无static:此时要调用方法就不能让类名去.了,需要对象去.
    • 静态和非静态的区别
      1)在非静态类中,既可以有实例成员(非静态成员,需要new的),又可以有静态成员;
      在静态类中,只可以有静态成员。
      2)在调用实例成员的时候,需要使用对象名.实例成员;
      在调用静态成员的时候,需要使用类名.静态成员;
      3)静态函数中,只能访问静态成员,不允许访问实例成员。
      实例方法中既可以使用静态成员也可以使用实例成员。
      4)静态类是不可以实例化的,也不需要实例化(new)
    • 静态类和非静态类的使用
      1)如果当前类你想要当作“工具类”去使用,考虑把他当作静态类
      2)静态类在整个项目中资源共享
    • 注意:
      1)静态类是占内存的,内存中最常用的空间是(堆,栈,静态存储区域),静态存储区域就是用来存放静态类的值的。
      2)只有在程序结束之后,静态类才会释放资源

    4.其他涉及到的知识点

    • 释放资源:c#引入了GC(garbage collection 垃圾回收器)
    • this:表示当前这个类的对象
    • 结构和类的区别:
      结构是面向过程的,类是面向对象的。两个里面可以写的东西是一样的。但是结构不具备面向对象的封装继承多态的特征。
    • 写了字段如
    private int _age;
    

    点击CTRL+R+E可以补充出相应的属性

    相关文章

      网友评论

          本文标题:c# 面向对象1--类和对象/字段和属性/static关键字

          本文链接:https://www.haomeiwen.com/subject/epaucltx.html