------- WindowsPhone 7手机开发、.Net培训、期待与您交流! -------
七、对象的引用:
类:引用类型person per1=new person(10);
person per2=p1;
p1.age++;
console.writeline(p2.age);//11
int ,datetime,bool,char值类型(ValueType)
普通的对象则是引用类型
值占内存小,对象大,
八、构造函数
创建对象的特殊函数,函数名和类名一样,没有返回值,连void都不用。
构造函数可以重载
作用:创建一个对象时给次对象一些初始值。(面向对象封装的思想)
九、继承
Chinese c1 = new Chinese();
c1.Name = "zdd";
c1.Age = 23;
c1.SayHello();
c1.功夫();
person p = c1;
c1.SayHello();
中国人 zgr=(中国人)p1;
我要一个中国人,给了一个Person类型的变量,我一看是P1是person类型,我就报错,给的要不是中国人咋办?谁负责?但程序员说了,去指吧!p1指向的一定是中国人。一旦程序员的保证不靠谱依旧报错。
Object所有类型的基类。
十、异常
try..catch..
从一个点发生异常的话,从此点至后都不执行
Exception类型的对象的主要属性:Message,StackTrace(异常堆栈)
用户的操作 try..catch(慎用)
十一、常量
const常量:const int PI=3.14;不可变
全局变量:public cosnt int PI=3.14;和class平行
十二、静态成员
static
在其他的程序集中也是可以被访问的。
static方法只能用static的变量
静态类一般用来实现一些函数库。***Helper
十三、namespace
在一个namespace中只可以有一个class
在一个项目中建议个文件夹则在该文件下的namespace是项目命名空间.文件名
一个命名空间就是一个程序集
同一个文件夹可以有不同的namespace
十四、索引器
person p1=new person();
p1[1]="小明";
class person
{
private string firstName="zdd";
private string secondName="jo";
//定义索引器
pulblic string this[int index]
{
set
{
if(inex==1)
{
firstName=value;
}
else if(index==2)
{
secondName=value;
}
else
{
console.writeLine("错误的数据类型");
}
}
get
{
if(index==1)
return firstName;
else if(index==2)
return secondName;
else
console.writeLine("错误的数据类型");
}
}
}
索引器的函数名为this