********常见的访问修饰符*********:
public :公共的,可以在其他类中访问
private:私有的,只有在本类里可以使用,其他的类无权访问
类的默认访问修饰符 internal(同一程序集中的文件内才是可访问的,后期讲)
字段和方法的默认访问修饰符是:private
**************值传递和引用传递*************
①:值传递:把参数的值传到方法里面,如果在被调用的方法中对参数的值进行了修改,在方法调用之后,不保留对参数的修改。
②:引用传递:引用传递的方式,如果在被调用的方法中对参数的值进行了修改,在方法调用之后,仍然保留对参数的修改。
按引用传递:ref
形参与实参同时加ref
定义方法
Swap(ref int num1,ref int num2);
调用方法
Swap(ref num1,ref num2);
*********this用法*************
this:表示当前对象,通过this可以访问当前类中的成员
作用:当前变量与局部变量同名的情况下,用于区分变量的(this访问的是成员变量)
*******c#中的属性*************
1:用方法保证数据的安全
Private int _age; //年龄 //通过方法访问年龄的值 public int GetAge() { return this._age; } //对年龄的输入加以限制 public void SetAge(int age) { if (age < 0 || age > 100) { this._age = 19; } else { this._age = age; } }
2:用属性实现字段的 (封装隐藏内部细节避免不合理赋值)
①:属性:如果要访问类中的私有字段,需要通过get和set访问器实现,这种结合了字段和方法的实现方式,称之为属性
②:属性的语法:
private int _age; public int Age { get{ return _age;} set{ _age=value; } } 对 public int Age { get { return _age; } set { if (value < 0 || value > 100) { _age = 19; } else { _age = value; } } }
③:属性的数据类型
定义类中的一个属性时,属性的数据类型(int Age)必须与他所访问的字段类型(int _age)一致。
④:属性的访问类型
get访问器(只读):访问get访问器
set访问器(只写):执行set访问器
⑤:在编码中快速的创建属性
选中私有字段 重构 封装字段(光标放在所封装的字段上,ctrl+R+E 生成属性)
⑥:对象初始化器
Student student = new Student(){name="Tom",Age=20};
***********面向对象的封装***************
封装是将数据和操作方法保存在一起的技术(安全)
实现:将成员变量、方法和属性以类的方式进行封装,在类或对象之间通过消息传递进行相互交流,而传递的信息是通过调用类公开的方法完成的
特点:隐藏内部实现,对外只暴露对类的基本操作,不影响其他对象对类的实现
字段:类中的成员变量
属性:封装字段,本质是方法
语法:
public 数据类型 属性名
{
get{return 字段;}
set{字段 = value;}
}
属性的数据类型与所封装字段的数据类型一致
属性名与字段名相同,但使用帕斯卡命名法
原文地址:https://www.cnblogs.com/47Nine/p/9948136.html