c# 学习笔记 重载、重写、重构、构造函数、new、Class

--以下笔记为看视频教程总结 视频地址

面向对象的三大特性

  封装

  继承

  多态

    概念:让一个对象能够表现出多种的状态(也可以理解为多种类型)

    实现多态的步骤:

      1、父类创建一个虚方法,在方法名前加 virtual

      2、在子类方法名前加 override

重构

不改变程序原有的功能,提高软件的扩展性和维护性,优化代码。发现代码不好,去改动他的结构,去优化它。

这个改动的过程、你的这个动作叫做重构。(我是这样理解的,如果不对可及时改正)

重写 override

父类定义一个虚方法,子类去重写;前提方法名、参数、返回值等必须是同样的 ,父方法必须是 virtual 、 abstract 或 override;

重写是一种方式,是要遵守一定规则去重写你的方法。

重载

指的就是多个方法的名称相同,参数不同这种现象,这种现象就是重载。

构造函数

构造函数是一个特殊的方法,用来帮助我们初始化对象(给对象的每个属性依次赋值)

特性:构造函数没有返回值,也不需要写void

  构造函数名称必须和类名一致

  构造函数必须是public,要不实例化对象的时候找不到

  构造函数是可以有重载的

执行顺序:创建对象(实例化对象)的时候,是会执行构造函数的

每个类有个默认无参数的构造函数,如果重新写了一个,默认的就会被覆盖掉。

NEW关键字三种用法

1、初始化对象,调用构造函数

2、(暂时不理解,先不写)

3、(暂不理解,先不写)

类 Class

  分静态类 和非静态类

  静态类

    成员必须全部是静态成员

    静态类本身是占内存的

    静态类

  非静态类

    可以有静态成员也可以有非静态成员

    类不占内存

  什么时候用静态类什么时候用非静态类

    如果你想作为一个“工具类去使用”,可以选择静态类

    静态类在整个项目中是资源共享的,都可以去调用

    静态类在程序运行结束后,才能释放资源,所以静态类尽量不要太多,因为占地方

释放资源

  GC Garbage Collection 垃圾回收器   

关键字 this 

  1、代表当前对象

  2、在类当中显示调用本类的构造函数 语法 :this

   例如: public classname (int a,string b,string c){ }

       public classname (int a,string b):this(a,b,'0') { }

装箱、拆箱  

  装箱:将值类型转换为引用类型

  拆箱:将引用类型转换为值类型

  注意:看两种类型是否发生了装箱或者拆箱,要看两个类型是否存在继承关系。