我们构造对象的时候,对象的初始化过程是⾃动完成的,但是在初始化对象的过程中有的 时候需要做⼀些额外的⼯作,例如需要初始化对象存储的数据,构造函数就是⽤于初始化数据的函数。
声明基本的构造函数的语法就是声明⼀个和所在类同名的⽅法,但是该⽅法没有返回类型。
c#public class MyClass{
public MyClass(){
这个构造函数的函数体
}
}
当我们使⽤new关键字创建类的时候,就会调⽤构造⽅法。
我们⼀般会使⽤构造⽅法进⾏初始化数据的⼀些操作。
构造函数可以进⾏重载,跟普通函数重载是⼀样的规则
注意
当我们不写,任何构造函数的时候,编译器会提供给我们⼀个默认的 ⽆参的构造函数,但是如果我们定义了⼀个或者多个构造函数,编译器就不会再提供默认的构造函数
属性的定义结构:
c#public int MyIntProp{
get{
// get code
}
set{
//set code
}
}
通过属性来访问字段
我们习惯上把字段设置为私有的,这样外界不能修改字段的值,然后我们可以通过定义属 性来设置和取得字段中的值。
c#private int age;
public int Age{//习惯上属性⼤写 字段⼩写
set{
if(value<0)return;
age = value;
}
get{
return age;
}
}
1、设置属性的只读或者只写
c#private string name;
public string name{
get{
return name;
}
}
属性可以值只提供⼀个set块或者get块
2、属性的访问修饰符
c#public string name{
get{
return name;
}
private set{
name = value;
}
}
3、⾃动实现的属性
c#public int Age{get;set;}
编译器会⾃动创建private int age属性
我们创建变量(对象的时候),必须指定类型,其实我们也可以不去指定类型,这个就是匿名类型,我们可以使⽤var声明⼀个匿名类型。
使⽤var声明的匿名类型,当初始化的时候,这个变量的类型就被确定下来,并且以后不可以修改。
c#var var1 = 34;