今天我们来分享下C#中的类,对象,构造函数。
什么是类?
类的实质是一种数据类型,类似于int,char等基本类型,不同的是它是一种复杂的数据类型。因为他的本质是类型,而不是数据,所以不存在在内存中,不能被直接操作,只能被实例化为对象时才会变得可操作。
类是对现实生活一类具有共同特征的事物的抽象,类的内部封装了方法,用于操作自身的成员。
类的三大特征:封装性,继承性,多态性
什么是对象?
对象是类的实例化。
什么是构造函数?
构造函数是一种特殊的方法,他有一条特殊的规则即构造函数的命名必须和类名完全相同。主要是用来给所创建的对象进行初始化,即给对象成员赋一个初值,通常与"new" 运算符在创建对象语句中一起使用。有些特别的类可以有多个构造函数,可根据其参数的个数不同或参数类型的不同来区分它们,构造函数可以重载。
如果你在创建一个类时没有创建一个构造函数,系统会为你默认创建一个没有参数的构造函数,一旦你建立一个新的构造函数,系统默认创建的就会被取代。
类中字段的写值和读值
public class AMD //建立一个名为AMD的类
{
string _name; //设立三个默认为private 的字段
string _year;
string _production;
public string Name //建立一个公共的类型为String的Name属性,用来对字段进行赋值。
{
get {return _name;} //读值,读取的是字段_name的返回值,即_name字段进行读值。
set{_name = value;} //写值,向字段_name写入一个值,这个值是Name的属性Value。
}
public string Year
{
get {return _year;}
set{_year = value;}
}
public string Product
{
get {return _product;}
set{_product = value;}
}
public void Introduce() //一个无返回值的Production()方法,用来显示产品信息
{
Console.WriteLine("我是{0},{1}年生产的,是{2}产品",_name,_year,_production)
}
构造函数的构建和重载
public AMD(string name, string year,string type)//构造函数的前提是只读的字段
{
this._name = zen 2 3600; //将方法中传递过来的name参数赋值给本类中的_name字段
this._year = 2019;
this._type = CPU;
}
调取类中的属性和方法
下面分别是不运用构造函数的和运用构造函数的例子,由此可见,构造函数的便利之处是多么的明显。
static void Main(string [] args)
{
AMD amd = new amd(); //实例化AMD类,建立一个amd对象
amd.Name = "zen2 3700x"; //逐一赋值
amd.Year = "2019";
amd.Type = "CPU";
amd.Introduce(); //调用Introduce方法
}
//精简方法(构造函数实现)
static void Main(stromg [] args)
{
AMD amd = new AMD("rx5700xt","2019","gpu") //直接在方法中进行复制,将参数通过构造函数赋值给相应声明类中的字段。
}
``