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.接口
接口中只包含属性和方法签名 没有方法体。实现接口的类必须实现接口中的方法以及声明对应的属性。
抽象类和接口最大的区别是单继承和多继承
最新文章
- fopen函数和fread函数、fwrite函数
- Object-c 内存管理
- django之form表单验证
- C#读取系统信息
- 获取月份对应的day
- Python初学者笔记(3):输出列表中的奇数/奇数项,字符串中的偶数项,字符串大小写转换
- svn :Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
- 无法加载shockwave flash
- linux命令之查看字符集
- seajs源码
- Alpha冲刺第十一天
- ActiveMQ(4)---ActiveMQ原理分析之消息消费
- thymeleaf标签必须由匹配的结束标记终止
- 【Java每日一题】20170221
- Spring Boot 集成 Mybatis 实现双数据源
- POJ 3249 Test for Job
- HDU6043 17多校1 KazaQ's Socks 水题
- 164. Maximum Gap (Array; sort)
- SpringBoot+Mybatis+PageHelper实现分页
- PHP之curl扩展