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.接口
接口中只包含属性和方法签名 没有方法体。实现接口的类必须实现接口中的方法以及声明对应的属性。
抽象类和接口最大的区别是单继承和多继承
C#基础再学习的更多相关文章
- Git 基础再学习之:git checkout -- file
首先明白一下基本概念和用法,这段话是从前在看廖雪峰的git教程的时候摘到OneNote的 准备工作: 新建了一个learngit文件夹,在bash中cd进入文件夹,用以下命令创建一个仓库. $ git ...
- Swift基础语法学习总结(转)
Swift基础语法学习总结 1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...
- objective-c基础教程——学习小结
objective-c基础教程——学习小结 提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织:XCode使用介绍) ...
- Swift基础语法学习总结
Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...
- 函数:我的地盘听我的 - 零基础入门学习Python019
函数:我的地盘听我的 让编程改变世界 Change the world by program 函数与过程 在小甲鱼另一个实践性超强的编程视频教学<零基础入门学习Delphi>中,我们谈到了 ...
- JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题
JAVA基础再回首(二十五)--Lock锁的使用.死锁问题.多线程生产者和消费者.线程池.匿名内部类使用多线程.定时器.面试题 版权声明:转载必须注明本文转自程序猿杜鹏程的博客:http://blog ...
- 零基础入门学习javase,应该怎么学?这是我给你的一个建议
我们知道Java有三个方向,JavaSE,JavaME,JavaEE(老程序员可能会叫J2EE等,不过SUN已经改名了).JavaME主要是嵌入式与游戏开发.那我们先看JavaSE,因为只有学好了Ja ...
- GCC基础知识学习
GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...
- VBox&vmware虚拟机安装Linux及Linux基础入门学习
VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...
随机推荐
- iOS10权限问题
下图就是Info.plist的常用的权限问题: * 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风? * 相机权限: Priv ...
- 安装VMTool
一. 安装VMTool 开启虚拟机,然后在VMware上选虚拟机->安装VMTool 如果提示光驱被占用就先用root登录 在命令行中挂载光盘 #mount /dev/cdrom ...
- app测试自动化操作方法之一
1.在输入框里输入字符 dr.find_element_by_android_uiautomator\ ( 'new UiSelector().text("邮箱或手机号")').s ...
- uni-app编译配置
Uni-app 编译配置 <!-- #ifdef H5 --> <view>只在H5编译</view> <!-- #endif --> <!-- ...
- 【POJ - 3087】Shuffle'm Up(模拟)
Shuffle'm Up 直接写中文了 Descriptions: 给定两个长度为len的字符串s1和s2, 接着给出一个长度为len*2的字符串s12. 将字符串s1和s2通过一定的变换变成s12, ...
- 配置传统vlan间路由
S1#SH RUN spanning-tree mode pvst ! interface FastEthernet0/1 switchport access vlan 10 switchport m ...
- 《0day安全-软件漏洞分析技术》实验笔记1
Crack 小实验 工具 Dev C++(书上使用的VS) IDA_Pro_v7.0 Ollydbg LordPE 010 editor 使用IDA打开文件 找到程序分支点 空格跳转到汇编界面 得到V ...
- TensorFlow实战第三课(可视化、加速神经网络训练)
matplotlib可视化 构件图形 用散点图描述真实数据之间的关系(plt.ion()用于连续显示) # plot the real data fig = plt.figure() ax = fig ...
- 【VS开发】【DSP开发】TCP和UDP数据包结构
TCP (Transport Control Protocol)传输控制协议: 1.TCP数据包的分组格式: A,源端口:标识源端应用进程. B, 目的端口:标识目的端应用进程. C, 序号:在SYN ...
- MSF魔鬼训练营-3.2.1活跃主机扫描
概要: msf的arp_sweep .udp_sweep模块 Nmap -sn使用ping探测 -PU -sn 使用UDP协议端口探测 msf模块 arp_sweep 常用 ipv6_mult ...