例1 带参数的构造函数
分析代码:
使用带参数的构造函数的好处:可以轻松创建多个对象,如果是不带参数的构造函数,会一一对productId和productPrice赋值,减少了大量代码。
例2 字段和局部变量的使用
局部变量在某个方法或者循环体内定义的变量,其作用域仅限于它的语句块内。
字段是类和结构的直接下属,是整个类内部所有方法和事件都可以访问的变量。
字段如果没有初始化,C#会自动将其初始化默认值;
对于局部变量未赋值则出现报错。
例3 静态成员和实例成员
实例成员如字段、常亮、方法等,每创建一个对象这些成员就会被创建一次,创建多个对象时会出现很多相同的东西,这样会导致资源的浪费。
静态成员在内存中只占一块区域,解决实例成员浪费现象。
例4 访问修饰符
类的访问修饰符
(1)Public:公共类,不限制对类的访问
(2)internal:在当前项目内可以被自有访问。
(3)partial:分布类型,类的定义和实现可以分布在对个文件夹中,但都需要Partial标注
(4)如果未对类进行修饰,默认为internal;
成员访问修饰符
(1)public:共有访问,外部类可以不受限制地存取这个类的数据和访问其方法。
(2)private:私有访问,类的数据成员和方法只能在此类中使用,外部无法存取。
(3)protected:保护访问,类及派生类中的成员可以访问,无法从类的外部进行访问。
(4)internal:可以在当前项目内可以自由访问,而对其他程序集来说无法访问。
(5)protect internal:在当前项目中,只有类及派生类的成员可以访问。
(6)未对成员进行修饰的字段默认为private,在类的外部无法访问。】
例5 构造函数
构造函数
构造函数具有以下特点:
(1)构造函数的名称与类相同;
(2)构造函数不包含任何返回值;
(3)每个类至少有一个构造函数;
(4)构造函数在创建对象时自动调用,不能被显式调用;
(5)构造函数的修饰符一般为Public。
(6)静态构造函数的修饰符常用Private;
析构函数
(1)析构函数的名称与类名相同,但在名称前需加一个符号~。
(2)析构函数不带任何参数,也不带任何返回值;
(3)析构函数不能使用任何访问修饰符;
(4)析构函数的代码只能进行销毁工作,而不应执行其他操作。
(5)析构函数不能被继承,一个类只能有一个析构函数。,在C#很少机会使用,一般是在释放资源。
例6 类的方法
C#有“值传递”和“引用传递”两种参数传递方式