C#基础再学习

本次观看C#中级教程视频进行对C#一些基础的再度学习,加深印象。

1.对于错误和异常。

错误可能是语法错误也可能是逻辑错误。可以通过断点进行调试。

断点快捷键F9。

异常,通过try catch捕获,做出异常处理。

2.面向对象的编程。

面向对象编程也称之为OOP编程。面对对象编程就是结构化编程,让代码模块化,结构清晰。

类理解为创建对象的模板,定义了每个对象的数据和功能。

类中的成员包括数据成员和函数成员。

类中的数据成员默认使用私有,防止外部访问。

构造函数与类同名,没有返回类型。NEW关键字创建类,就会调用构造方法。

在自定义构造函数之后,默认的构造函数会失效。

3.属性

对私有字段的封装,外部对私有字段访问的入口。

属性可以设置成只读,只写。

定义结构
Public int Te
{
 get{return Te;}
 set{Te =value;}
}
自动属性
Public int Te{get;set;}

4.var 匿名类型

5.堆和栈:程序运行时的内存区域

堆里的内存可以任意顺序存入和移除,可栈需要入栈和出栈。

GC是垃圾回收器。

值类型只需要一段单独的内存,存放数据在栈中。

引用类型需要两段,第一段存数据,位于堆中。第二段是一个引用(内存地址)(在栈中),指向堆中的存放位置。

引用类型赋值的时候,其实赋值的是引用,即重新指向,改变指向堆中的存放位置。

6.继承

一个类派生于另一个基类,拥有基类的所有成员(数据成员和函数成员).可以访问父类的公共的成员。

对象是什么类型的,看它是什么构造的。

Car car = new Train();
Train train = (Train)car;
train.runfast();
//car实际是Train类型但是不能使用其中的成员,必须进行强制转换。不转换的话,car只能调用父类的成员。

创建子类对象后,我们在子类里面重写虚方法,不管在哪里调用都是重写后的方法。

创建是父类对象则依然调用虚方法。

抽象类 abstract 不完整的模板,不能实例,需要子类实现。

继承了一个抽象类的时候,必须去实现抽象方法。也是使用override。

可以通过抽象类声明,使用里式替换原则。

sealed,密封类无法被继承,密封方法只可以把重写的方法声明为密封方法。

在子类中调用父类的默认构造函数,父类先调用。如果在子类中不声明调用父类的构造函数,默认调用父类无参构造函数。

7.接口

接口中只包含属性和方法签名 没有方法体。实现接口的类必须实现接口中的方法以及声明对应的属性。

抽象类和接口最大的区别是单继承和多继承

posted @ 2019-11-19 14:43  最爱吃汤圆27  阅读(138)  评论(0编辑  收藏  举报