c#第三章
2021-06-27 07:07
标签:返回值 bank vat 数据 show setname card 赋值 逗号 使用属性升级MyBank 访问修饰符 Java中的访问修饰符 Public 、protected、private C# Public公共的 访问级别最高 Private私有的 访问级别最低 访问修饰可以用来修饰字段(属性)和方法,用来限定类成员的访问级别 Student stu = new Student(); stu.userName = ""; stu.age = 0; stu.show1(); stu.show2(); private string userName = "Tom"; public int age = 18; public void show1() { Console.WriteLine("AAAAA"); } private void show2() { Console.WriteLine("AAAAA"); } This关键字(指定当前对象) C#所有的对象都将创建在并脱管堆上 /// /// 初始化学员 /// /// public void SetName(string name) { this.userName = name; } public void Show() { Console.WriteLine("大家好:{0},今年:{1}",this.userName,this.age); } C#属性 1) 一个物体抽象出来,形成公共的类,减少代码量 2) 用方法保证数据的安全 做一个年龄的限制 private int age; public string idCard; /// /// 得到年龄 /// /// public int GetAge() { // 返回值 return this.age; } public void SetAge(int age) { if (age 100) { this.age = 19; } else { this.age = age; } } 测试类 Student stu = new Student(); stu.SetAge(-10); Console.WriteLine("年龄是:{0}",stu.GetAge()); stu.SetAge(35); Console.WriteLine("年龄是:{0}", stu.GetAge()); Console.ReadKey(); 用属性实现字段的封装 private string UserName; 快捷键(Ctrl + r + e) Get访问器用来返回相应私有的字段属性,get访问器与方法相似,必须使用return返回字段值 Set访问器用来设置相应私有字段的值,set访问器类似于返回类型为void的方法 public int Age { get { return age; } set { if (value 100) { this.age = 19; } else { this.age = value; } } } 属性的数据类型 定义一个类中的属性,属性的数据类型必须与他所范文的字段类型一致(必须是整形) 属性的类型可以是一个类或者一个数组 属性的访问类型 属性访问类型分为三种: 1) 只读属性:只有Get 2) 只写属性:只有Set 3) 只读只写:Get+Set 字段和属性的区别? 通常字段是指private,在类的内部使用。讲指定属性为public,对外开发个,同常get或set提供访问安全,有效的范围保护 C#中的属性和方法? C#中的属性set访问器和get访问器后面不能加“()”,因为访问器没有返回值 对象初始化 先创建一个Student对象在初始化 Stu.userName = “某某”; 对象初始化 Student stu = new Student(){username = “某某”};// 多个属性之间使用“逗号”隔开 面向对象(封装、继承、多态) C#中-----封装 什么是封装:就是将东西打包 作用:隐藏类的内部细节,只对外暴露类的基本操作 好处: 1) 避免非法数据的赋值 2) 保证数据的完整性 3) 避免类内部发生修改时,导致整个程序发生变化 通过访问修饰符来实现 Public:公共的 Private:私有的 Protected:只有该类对象(自己)及子类对象可以访问(继承关系) Internal:同一个程序集的对象可以访问 Protected Internal:访问限于当前程序集或派生自包含类的类型 比如说:一个人A为父亲,他的儿子B,妻子C,私生子D(注:D不在他家) Public:地球人都知道,公开的 Private:只有A知道(隐私、私事,心事) Protected:A,B,D(A和他所有儿子都知道,C他妻子不知道) Internal:A,B,C知道(私生子D不知道) Protected Internal:A,B,C,D都知道,其他人不知道 值传递和引用传递 Java中是如何数据传给方法的,通过参数的形式 int pay;// 税前工资 float taxRate = 0.1f;// 税率 float afterTax;//税后工资 Console.WriteLine("请输入税前工资:"); pay = int.Parse(Console.ReadLine()); if (pay
{ afterTax = pay; } else { afterTax = pay - (pay - 3500) * taxRate; } Console.WriteLine("税前工资{0}\n税后工资{1}",pay,afterTax); Console.ReadKey(); 修改后的 private static float GetPay(int pay, float taxRate) { float after;// 税后的工资 if (pay
{ after = pay; } else { after = pay - (pay - 3500) * taxRate; } return after; 以上是值传递 java中左右手换纸牌 三个abc 实现左右手换纸牌 引用传递 要想实现左右手换纸牌需要按引用传递的方式进行(需要使用ref关键字) 值传递(拿的是复制品) 值传递是将变量的值复制了一份,是方法的形参和实参的值相同,在调用方法中修改形参也只是对复制品做修改,并没有真正的改变实际参数的值 引用传递(拿的是原来参数的地址 关键字ref) 引用传递是将传递的对象引用复制给方法的形参,使被调用的方法直接对引用对象进行更改,会影响到原来的值 c#第三章 标签:返回值 bank vat 数据 show setname card 赋值 逗号 原文地址:https://www.cnblogs.com/loose/p/10080983.html