1>面向对象概念;
1,类Class 具有相同属性,方法的事物的一个抽象集合;2,对象Object 现实存在的,具体的事物就是对象;
3,字段Field 类的状态
4,方法Method 类的动作
5,继承 子类(ChildClass) -->继承 父类(Parent)、基类Base
6,面向对象3个特征:继承、封装、多态;
2>类成员访问级别
1.类的成员:字段、方法、属性;2.访问级别:
1, public 任何地方都可以访问
2, private 类本身才能访问
3.所有的字段都写成private
3> 属性
1,语法:
public int Age
{
//赋值
set{_age = value;} //value是用户赋值过来的值
//取值
get{return _age;}
}
好处:
1.可以限制非法的赋值;
2.可以规定访问级别,可读写、只读、只写、不可读写;
注意:属性本身并不保存数据,而是保存在字段里;
2,简单属性:直接写属性 编译器自动帮我们生成私有字段;
.net 3.0后简写方式
public int Age{get;set;}
4>值类型和引用类型;
区别:1、值类型赋值的时候是拷贝值;
2、对象则是引用,赋值的时候传递引用;(节省空间内存)
5> 构造函数
1.构造函数没有返回值,名字和类名一样;2.如果不写构造函数,类默认会有一个没有
参数的构造函数;
3.作用:创建对象并初始化;
6>方法的参数的引用传递和值传递
1.引用传递形参和实参都引用一个对象,所以形参改变的是和实参指向的同一对象的值;
2.值传递是给形参copy一个实参的副本,
所以形参的改变并不影响实参;
7>继承
1.C#所有的类都是继承与Object基类;
8>异常
1.C语言错误处理:错误码;缺点:需要知道不同错误码的含义,
2.C# Exception是一个异常处理类
3.抛出异常:throw new Exception("错误");
注意:不要吃掉异常,一般情况下不需要
处理异常;少用异常处理;
9>常量
1.一定不会变化的值,才能声明为常量;const float PI = 3.141592f;
10>静态成员
1.加static 相当于一个全局变量;2.在static方法中不能调用非static的成员;
3.在非static能调用static成员;
4.静态类,不能被new的类就是静态类;
一般用来实现一些函数库 。
11>命名空间;
1.右键,解析;自动using 空间;12>索引器
1、数组通过索引来进行访问;例如:
int[] nums={3,4,5};
nums[1];
2、this关键字用来定义索引;