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

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

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

C#基础再学习的更多相关文章

  1. Git 基础再学习之:git checkout -- file

    首先明白一下基本概念和用法,这段话是从前在看廖雪峰的git教程的时候摘到OneNote的 准备工作: 新建了一个learngit文件夹,在bash中cd进入文件夹,用以下命令创建一个仓库. $ git ...

  2. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

  3. objective-c基础教程——学习小结

    objective-c基础教程——学习小结   提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织:XCode使用介绍) ...

  4. Swift基础语法学习总结

    Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...

  5. 函数:我的地盘听我的 - 零基础入门学习Python019

    函数:我的地盘听我的 让编程改变世界 Change the world by program 函数与过程 在小甲鱼另一个实践性超强的编程视频教学<零基础入门学习Delphi>中,我们谈到了 ...

  6. JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题

    JAVA基础再回首(二十五)--Lock锁的使用.死锁问题.多线程生产者和消费者.线程池.匿名内部类使用多线程.定时器.面试题 版权声明:转载必须注明本文转自程序猿杜鹏程的博客:http://blog ...

  7. 零基础入门学习javase,应该怎么学?这是我给你的一个建议

    我们知道Java有三个方向,JavaSE,JavaME,JavaEE(老程序员可能会叫J2EE等,不过SUN已经改名了).JavaME主要是嵌入式与游戏开发.那我们先看JavaSE,因为只有学好了Ja ...

  8. GCC基础知识学习

    GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...

  9. VBox&vmware虚拟机安装Linux及Linux基础入门学习

    VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...

随机推荐

  1. docker上传私有仓库报错

    docker 1.17 版本搭建私有仓库,上传镜像报错:server gave HTTP response to HTTPS client” 系统环境:centos7docker版本:1.17(注意版 ...

  2. oslo_db.sqlalchemy.engines连库

    _ mysql -uroot -pc1234 oslo_db.sqlalchemy.engines root@devstack2019:/etc/keystone# more keystone.con ...

  3. mybatisplus EntityWrapper 常用方法

    1. #WHERE (issue_type = ?) AND (status = ? OR status = ? OR status = ?) EntityWrapper wrapper=new En ...

  4. /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决 转载

    升级cmake时,提示“Error when bootstrapping CMake:Problem while running initial CMake”,第二次运行./bootstrap时,直接 ...

  5. 【HANA系列】【第二篇】SAP HANA XS使用JavaScript编程详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第二篇]SAP HANA XS ...

  6. 使用Zabbix进行IPMI监控

    1.    安装IPMItool软件包 # yum -y install OpenIPMI OpenIPMI-devel ipmitoolfreeipmi 2.    配置Zabbix 服务器端配置z ...

  7. redhat 7 防火墙配置

    没有iptables 用systemctl stop firewalld

  8. C++类型转换(类型转换函数+类型构造函数)

    C++类型转换(类型转换函数+类型构造函数) 类型转换函数 类型转换运算符是类的一种特殊成员函数,它负责将一个类类型的值转换成其他类型. graph LR 类类型--> 类型转换函数 --> ...

  9. 2017.10.28 C组比赛总结

    这次比赛有点坑... [GDKOI2004]石子游戏 方法:判断奇偶性 输入n 如果n是奇数,输出 xiaoshi 如果n是偶数,输出 xiaoyong 比赛得分:30 错因:找错规律了(忘记了两个人 ...

  10. 小白学习tornado框架第一站-环境设置

    首先建立一个虚拟环境 mkvirtualenv -p /usr/bin/python3 tornado_1 安装tornado框架 pip install tornado  pycham中建立同步 创 ...