本次观看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.接口

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

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

最新文章

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

热门文章

  1. C# 实现opc ua服务器的远程连接(转)
  2. js 视差滚动 记录备份
  3. idea关闭自动更新
  4. C#编程 socket编程之udp服务器端和客户端
  5. @Validated和@Valid校验参数、级联属性、List
  6. 华为HCNA乱学Round 11:PPPOE
  7. linux下Eclipse进行C编程时动态链接库的生成和使用
  8. nginx一些高级配置
  9. Redis数据库连接
  10. js中‘0’到底是 true 还是 false