---------------------- 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培训、期待与您交流! ----------------------