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') { }
装箱、拆箱
装箱:将值类型转换为引用类型
拆箱:将引用类型转换为值类型
注意:看两种类型是否发生了装箱或者拆箱,要看两个类型是否存在继承关系。