第三章 使用属性升级MyBank

Posted tongchaofei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三章 使用属性升级MyBank相关的知识,希望对你有一定的参考价值。

一.==和equals()的区别

   1.在java当中,==比较的是内存首地址,equals比较的是两个字符串在内存中的值
   2.在C#中,==和Equals()方法的作用相同,比较两个字符串的值,因为当我们使用==的时候,在底层代码中它还是调用了Equals();
  二.访问级别
   1.public 公有的 外界任何地方都可以访问到,访问级别最高
   2.private 私有的 只能类的内部使用,其他类中访问不到  访问级别最低
  三.this关键字
   通过this可以访问当前类的所有成员变量和方法
   例如:this.name;
      this.Show();
  四.如何给私有字段赋值和取值
   private string name;
   public string GetName(){
    return this.name;
   }
   public void SetName(string name){
    this.name=name;
   }
  五.使用属性解决数据安全问题,通过公有属性访问私有字段
   private int age;
   public int Age{
    get{return this.age;}
    set{
     if(vaule<0||value>100){
      value=18;
      this.age=value;
     }else{
      this.age=value;
     }
    }
   }
   get和set都存在:读写属性
   只有get时:只读属性
   只有set时:只写属性
  属性的作用:
   控制私有字段的可访问性
   保护内部数据的安全
   类内部敏感字段使用属性来控制访问
  六.对象初始化器
   Student stu = new Student(){Name="Mike", Age=20};
  七.封装
   封装字段——将类中的字段、属性绑到一起
   将私有字段封装成公有属性
   封装是面向对象的三大特性之一(继承,多态)
   好处:
    1.隐藏了类中的内部细节
    2.避免了非法数据
    3.保证了数据的安全性和完整性
  八.值传递和引用传递
   值传递:传递的是真实的值(更改的只是值)
   引用传递:传递的事内存地址(在我们交换或者更改值的时候更改的是内存地址中的值)
    注意:
     1.如果使用引用传递的话必须要将参数初始化
     2.如果在使用引用传递的时候在方法调用时需要加上ref
   int num1 = 5;
            int num2 = 10;
            Console.WriteLine("交换之前的值:" + num1 + " " + num2);
            Swap(ref num1,ref num2);
            Console.WriteLine("交换过后的值:" + num1 + " " + num2);
            Console.ReadLine();
            public static void Swap(ref int num1, ref int num2)
         {
             int temp = 0;
             temp = num1;
             num1 = num2;
             num2 = temp;
            
         }
     九.形参和实参
      形参:构建方法时括号的参数叫形参,形参列表
      实参:调用方法时所传递的参数成为实参




















































以上是关于第三章 使用属性升级MyBank的主要内容,如果未能解决你的问题,请参考以下文章

使用属性升级MyBank

使用属性升级MyBank

使用属性升级MyBank

使用属性升级mybank

使用属性升级Mybank

使用属性升级MyBank