• 第三章 使用属性升级MyBank


    1、C#中的访问修饰符:

    a) public 【公共的】访问不受到任何限制,级别最高。一般用于修饰方法,提供给其他类调用。

    b) private 【私有的】只有类的内部可以使用,一般用于修饰字段,保证数据的安全性。

    注:如果在成员定义之前没有指定访问修饰符,默认为internal,可理解为只能在本项目中访问。

    2、C#中的this关键字:

    可以看做是当前类的实例(对象),可以调用当前类的所有成员变量(字段)和方法。

    This——this调用的是成员变量。当名字相同时,使用this可以获得当前对象(成员变量)。

    3、属性

    a) C#中使用属性对字段进行封装:使用get和set访问器。

    相当于使用getset方法:

    private string name;

    public string GetName(){

        return name;

    }

    public void SetName(string name){

         this.name = name; }

    注:(1)Get方法有返回值类型没有参数;(2)Set方法没有返回值有参数;(3)this表示当前类的对象。

    b) 对字段的使用:

    1、创建对象

    如:Student stu=new Student();

    2、使用Set方法设置字段值

    stu.SetName("张三");

    3、使用变量接收调用get方法得到的值

    string name=stu.GetName();

    4、使用

    Console.WriteLine(name);

    5、停留

    Console.ReadLine();

    c) C#中的属性:在C#中私有字段通过get|set访问器进行访问实现,这种结合了字段和方法的实现方式叫做属性。

    • 属性的语法:

    private string _name;

    public string Name

    {

    get{ return _name; }

    set{ _name=value; }

    }

    注:自己的私有字段不给别人用,但是提供了可以让别人访问的公开方法,自己的方法可以调用自己的字段。定义类中的一个属性时,属性的数据类型必须和它所访问的字段类型一致。

    • 对字段的使用:

    1、创建对象:

    如:Student stu=new Student();

    2、给属性赋值

    stu.Name="zhangsan";

    3、用变量接收得到的属性值

    string name=stu.Name;

    4、使用

    Console.WriteLine("name="+name);

    5、停留

    Console.ReadLine();

    • 属性的作用:

    控制私有字段的可访问性,保护内部数据的安全

    1. 属性的3种访问类型
      1. 只读属性——只包含get访问器
      2. 只写属性——只包含set访问器
      3. 读写属性——只包含get和set访问器

    d) 封装字段:在C#中将类中的字段、属性绑到一起,使用属性对字段进行封装。

    1. 封装——封装是面向对象的三大特性之一。
    2. 好处——避免非法数据的访问,保证数据完整性。

    *****************************************************************

    类的成员——字段:数据|属性:读写状态|方法:操作行为

    *****************************************************************

    4、C#中的引用传递和值传递

    a) 值传递

    1. 方法的定义:

    访问修饰符   返回值类型  方法名(数据类型 值1,数据类型 值2.。。。)

    {

    //方法体

    }

    1. 值传递参数的调用:对象名.方法名(值1,值2.。。。);

    注:值传递只在方法中改变,却不返回改变,参数仍然是原来的值。

    b) 引用传递

    1. 方法的定义:

    访问修饰符   返回值类型  方法名(ref 数据类型 1,ref 数据类型 2.。。。)

    {

    //方法体

    }

    1. 引用传递参数的调用:

    对象名.方法名(ref 1,ref 2.。。。);

    1. 调用的注意事项:
      1. 定义和调用之前都需要加上ref
      2. 作为参数的变量必须声明和赋值
      3. 希望保留参数更改的时候使用

    c) 比较值传递和引用传递——3.4.4

    • 值传递——不能对原始数据进行修改

    因:值传递是将变量的值复制一份给方法,使得方法的形参和实参的值相同,在调用的方法中修改形参也只是对实参复制品的数据做更新,并没有真正改变实参的值。

    • 引用传递——对原始数据进行修改并保留

    因:直接将数据引用,使得调用方法直接对引用对象进行更改,会影响实参原来的值。

  • 相关阅读:
    html pre 元素
    获取不重复随机数
    CSS查找匹配原理和简洁高效
    排序
    javascript 去数组重复项
    asp.net页面生命周期
    经典 Javascript 正则表达式
    深入理解JavaScript定时机制
    排序简介
    理解 JavaScript 闭包
  • 原文地址:https://www.cnblogs.com/suola/p/11344126.html
Copyright © 2020-2023  润新知