zoukankan      html  css  js  c++  java
  • C#封装与值传递

    一.==和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;
                
             }

         九.形参和实参
          形参:构建方法时括号的参数叫形参,形参列表
          实参:调用方法时所传递的参数成为实参

  • 相关阅读:
    【noip2014】解方程
    2013南大专业课试题答案
    如何计算多边形面积
    坐标转换成点
    几何对象和空间参考
    StoryBoard(动画故事版)
    五种画刷
    SL的六种变换
    SL中MediaElement(视频播放)
    SL的四种样式
  • 原文地址:https://www.cnblogs.com/yjc1605961523/p/9315951.html
Copyright © 2011-2022 走看看