---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
面向对象概念:
面向对象不是取代面向过程的。
面向对象的三个特点:封装,多态,继承
面向对象和面向过程是互补的
类:
类是抽象的,对象是具体的
类的定义:类名 取的名字=new 类名();
使用:取的名字.类中的方法();
调用本方法的字段和方法的时候前面要加this,表示在本类中的调用。
字段:和类相关的变量,字段就是类的状态,字段在类中用priavite修饰
成员访问级别:
字段、方法、属性都可以叫做类的成员,他们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的。
Private只能由类中的成员访问,如果别的类想访问这个字段,可以定义一个方法来访问。
属性:
惯用法:属性开头字母大写,字段开头小写
只能用set或者只用get就可以定义只读或者只写属性(只写的不常见)
可以为set,get设置访问级别
字段和属性的区别是什么?属性看似字段、不是字段,可以进行非法值控制,可以设置只读
定义:public 类型 名字
{
Get{return this.字段};//取值
Set{this.字段=value};//赋值
}
方法:
值类型与引用类型:int datetime bool char都是值类型,赋值的时候是传递拷贝
普通的对象则是引用对象,赋值的时候是传递引用
为什么要这么分,因为一个对象可能占很大内存,为了防止内存占用过多所以传递引用
构造函数:
就是用来创建对象的特殊函数,函数名和类名一样,没有返回值值,连void都不用
意义:创建对象的同时给它初始化
构造函数可以有参数,new对象的时候传递函数参数即可
构造函数可以重载,也就是有多个参数不同的构造函数
如果不指定构造函数,则类有一个默认的无参构造函数,如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。
继承:父类、基类中的方法可以给子类重用,子类不但可以用自己的方法,还可以使用父类中的方法
Class 子类:父类
所有类都继承于object类
类型转换:(转换的类型)对象
接口:
多态:
泛型:
异常:
Try catch Exception ex异常也是对象
Exception类主要属性:message,stacktrace
Ex.excepetio错误的消息 ex.stackrace异常堆栈
发生异常后程序默认就退出了,后续代码不会被执行。Catch以后的代码则会继续执行
抛出自己的异常:throw new Exception(“错误的内容”);
常量:
Static:const常量。常量名要大写。一定不会变化的值才声明为常量。
全局变量。Static类变量。
不用new就能用的方法:static方法,static方法其实就是普通函数
在static方法中可以调用其他static成员、但是不能调用非static成员。在非Static方法中可以调用static成员。
静态类,不能被new的类就是静态类。静态类一般用来实现一些函数库。***Helper
命名空间:namespace,用于解决类重名问题,可以看做“类的文件夹”。
在代码中使用其他类的时候需要using类所在的Namespace.System.Collections.ArrayList,快速引入的方法,右键-》解析。
如果代码和被使用的类在一个namespace则不需要using.
可以修改默认的namespace,因此不要认为在相同文件夹下就不用using,不再相同文件夹下就需要using.
引用方法:
命名空间.类名 创建对象=new命名空间.类名();
索引器
C#中提供了按照索引器进行访问的方法,定义索引器的方式:string this[int index]{get {return “”;}set{}},string为索引器的类型,[]中是参数列表。进行索引器写操作就是调用set代码块,在set内部使用value得到用户设置的值;进行读操作就是执行get代码块
索引器参数可以不止一个,类型也不限于int,几乎可以是任意类型。
Class person
{
Private string FirstName=”大毛”;
Private string SecondName=”二毛”;
Public string this[int index]
{
Set
{
if(index==1)
{FirstName=value;}
Else if(index==2)
{SecondName=value;}
}
Get
{
If(index==1)
{return FirstName;}
Else If(index==2)
{return SecondName;}
}
}
}
调用:
Person p1=new Person();
P1[1]=”damao”;
Console.write(p1[1]);
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------