笔记生人勿进

p1:课程介绍,讲解学习顺序,教学理念。
可购买书籍:c#入门经典 第8版  c#高级编程(第11版)。开发工具:Bisual Studio 2019 Community 社区版。 
书籍购买可 当当 亚马逊
p2:调试和错误处理  
错误:语法或逻辑出现错误,导致程序达不到预期效果。
错误不可避免时,在不影响整体程序或错误不可或缺时允许存在
p3:使用输出语句和Debug模式调试程序
整形变量定义关键字:int
输出语句:Console.WriteLine("Hello World!");
输入语句:Console.ReadLine();
断点需要打在有语句的位置,特性是从上到下执行,其效果为在断点处暂停,作用是清晰的了解程序运行的过程,从而进行更准确的
排除错误。(F9快捷键)
p4:中断模式下的窗口介绍
p5:逐语句和逐过程
 逐语句,逐步执行语句,其位置在工具栏,可以进入函数内部(自定义方法)。
逐过程不会进入函数
(高版本没有)
p6:关于程序中的异常
程序中出现的错误如:下标越界,指向异常等
p7:异常的处理
try{}catch(括号可有可无){}finally{}
try后面可以跟多条catch
catch语句只有出现对应的异常时才会执行其控制的语句而finally是无论是否异常都会执行
可防止程序因为一条或多条语句而导致整个程序崩溃
p8:使用trycatch检查用户输入的数据是否合法
 在try语句块中从上到下只要一条语句异常就会直接跳入catch语句块,try中异常语句后的语句不会执行
p9:使用思维导图处理知识点
p10:什么是面对对象编程(模块化编程,oop编程)
定义创建自定义函数以及使用,让代码更具多样性,减少方法的冗余
11p怎么定义一个类
类的定义如:class 类名{}
 类中基本成员包括数据成员和  函数成员(函数成员可初略理解为一个自定义方法)
p12:创建对象和对象的使用
对象本质为变量
创建对象语法:类名 对象名=new 类名(); 或类名 对象名;对象名=new 类名();
p13:车辆类和向量类的定义和使用
一个类中可创建多个对象
对象可以访问共有数据(修饰符为public)而不能访问私有数据(修饰符为private)
如果在外部赋值私有的数据可以提供一个共有方法如:private float x; public void Setx(数据类型 局部变量名){ x=局部变量名; }
外部语句:对象名.Setx(值);
p14:共有和私有访问控制
如果在外部访问私有数据可以提供一个共有方法如:private float x; public 数据类型 getx(){ return  x;}
共有函数(方法)的办法可以有效的控制在外部对私有数据的操作
p15:什么是构造函数
对象在构建时是自动完成的
如果需要在对象构建时对其进行约束则可以构建一个函数:构建函数(没有返回值,名字与类名保持一致 ,作用为为对象初始化)。
可以有多个构造函数,在构建对象时如:类名 对象名=new 类名(数据,数据);会自动寻找符合参数的构造函数。
基本类型默认值 0.      值类型默认值0.       引用类型的默认值null。
p16:构造函数的参数问题
如果有一个构造对应对象的构造函数,那么则需要至少有一个构造函数其参数对应。
p17:属性
访问私有成员变量时除了get和set方法外可以通过属性来对其操作属性定义的格式为:
public int 变量名-需区分-{get{return 变量名}set{变量名=value;}}-在用对象名给其他方法中的私有数据赋值时系统直接给的value参数-
属性可以看作是get和set简写的版本
p18:属性和匿名类型
属性操作如果只读只写可简化为public string 变量名{get;set;}
创建属性时如果没有定义该成员那么会自动创建其成员如:public int age{get;set;}
匿名类型是在声明变量时不指定类型如:var 变量名=值;其类型随着赋与的值发生变化{}
栈空间小,读速快。堆空间大,读速慢
栈为先进后出的规则如楼层,且只能从栈的顶部进行插入或删除 如:(++i)+(++i)+(++i)的运算规则相似
堆可以以任意顺序操作与栈不同,其自动清理功能会把长时间不使用的数据清除(被新数据所覆盖)
p20:值类型和引用类型
值类型存储在栈里面,引用类型存储在堆或栈里面
p21:画图理解类型和引用类型在内存中的储存
栈或堆中存储引用指向静态存储区里面的数据,优点是当需要的字符串重复时可以节约内存空间
p22:字符串在内存中的存储
静态存储区中的数据不可修改,比如对一个字符串变量重复赋值时在静态存储区中会将新值继续存储在一个新的位置然后改变引用(引用新的值),
 p23:对象引用的改变
在创建对象时数据会存储在堆中,当一个对象在创建时所赋的值是一个对象,那么新对象所具有的只是旧对象指向堆中数据的引用
,就像两把钥匙但只能开一把锁,所以当对新对象修改其值时,旧对象所引用的亦是新的数据
p24:什么是继承
所有的类都有父类,若类没有指定其父类,那么默认其父类为object
单继承或有部分语言支持多重继承(很不好维护)
p25:继承的代码掩饰
语法:class 本类名:父类名{ }
p26:继承和子类的构造
当子类继承父类时,若父类有私有变量时没有权限访问则可以将私有改为protected(保护的,可以让子类访问,但外界访问不了)
p27:this和base关键字
在子类里面访问父类时若需要区分时可以用this关键字,也可以用专用于访问父类数据时所用的base关键字
p28:关于虚方法virtual
需要重写父类方法时可在父类方法定义返回值类型前写virtual然后在子类重写为override如:public override void 方法名(){}
p29:隐藏方法
p30:抽象类和密封类
抽象方法只有函数定义没有函数体继承时需要子类重写
语句是在返回值类型前加上abstrac如:public abstract void 方法名();-类也必须是抽象-
p31:子类的构造函数
在子类调用父类里面的构造函数可在函数后加上:base(参数,参数)如:public 方法名(参数,参数):base(参数,参数){}
p32:修饰符和怎么访问别的项目下的类
子类不能比父类权限高公共的可以在另外的程序访问
具体步骤:1.添加别的项目的引用  2.引入命名空间  3.把类设置为public
p33:其他修饰符和readonly
p34:static静态的
静态成员在c#中只能用类访问于java中还可以用对象访问不同
静态函数只能使用静态数据,静态成员不能被实例化
p35:接口
关键字为 interface
在创建接口时需要跟一般类区分都在类名前加上I。
接口不能有构造函数
p36:接口的继承
一个类可实现多个接口的继承
p37什么是索引
类似遍历数组
p38什么是运算符重载
两个对象进行比较判断用的是引用进行判断而不是判断数据
重载运算符就是对运算符的规则进行重写语法为:public static bool operator运算符(对象名 参数,对象名 参数){ 新规则}
 p43什么是列表和列表的创建添加遍历访问
列表语法:List<类型>   名=new List<类型>(){初始值。。。。};
添加:名.Add(值);
p44关于列表数据管理
p45列表的一些常见操作
可用for循环遍历列表或foreach循环遍历如:foreach(int temp in 列表名){cw(temp)}
p46:范型
本质是类型参数化或参数化类型,在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型。 
p47:类中的tosting方法
默认情况下用于输出类的完整路径
两个对象不能相加,但重写规则可以实现
总结:于Java语法规则相似,但也存在不同

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值