zoukankan      html  css  js  c++  java
  • C#进阶之路——4.C#类属性和方法

    C#进阶之路——C#类属性和方法

    基础:

    1、属性的作用:保护字段,对字段取值与赋值进行限定

    属性

    public 类字段 相当于c#里面暴露给外面的属性,但是又不同于普通的字段,属性只是外部包装字段,没有自己的任何含量,类似退换后的方法。还是需要内部字段来设置。

    private 类字段 相当于类内部使用的字段。可以把属性看成私有变量的访问器。

    2、属性的使用:

    语法

     [访问修饰符] _name(属性名)

    public [对应字段类型] 属性名Name

    {

    get{return _name;}

    set{_name=value;}

    }

    3、字段和属性的命名格式:

    字段的命名方式一般采用:_cameCase

    字段的命名方式一般采用:PascalCase

    4、有了属性以后,往往通过属性去访问字段。

    属性通常声明为public,字段通常声明为private。

    在外部访问类中的字段,都是通过属性来实现。g

    et可对取值进行界定,set可对赋值进行界定,通常我们将get和set称为访问器。

     5、属性分为4种,

    1)既读又写:同时包含get和set

    2)只读:只包含get

    3)只写:只包含set

    4)自动属性

    示例

    class gwyy {

    private string _name; //字段 私有

    public string Name

    {

    get { return _name + 'a'; }

    set { _name = value; }

    }

    //属性,公有 但是还是需要依赖于实体字段

    }

    方法:

    “方法”是包含一系列语句的代码块。

    在 C# 中,每个执行指令都是在方法的上下文中完成的。

    方法在类或结构中声明。

    声明时,声明时需要指定访问级别、返回值、方法名称以及任何方法参数。

    方法参数放在括号中,并用逗号隔开。空括号表示方法不需要参数。

    下面的类包含三个方法:

    class Motorcycle {

    public void StartEngine() { }

    public void AddGas(int gallons) { }

     public int Drive(int miles, int speed) {

       return 0;

     }

    }

    进阶:

    静态方法

    静态方法不对特定的类实例化,调用时候,需要指定类名调用

     非静态方法

    方法重载

    方法名相同,但参数的 数据类型、 个数、顺序不同

    可变参数

    可以在方法参数栏加params属性 接受一个一维数组的可变参数

    示例

    public void test1(params string[] list) {

    for (int i = 0; i < list.Length; i++)

    {

    Console.WriteLine(list[i]);

    }

    }

    ref 按引用传递

    调用方法时,在方法中对参数所做的任何更改都反应在该变量中。

    使用ref参数 必须方法声明 和调用方都必须显示的使用 ref关键字

    示例

    int i = 3;

    Console.WriteLine(i);

    g.test2(ref i);

    Console.WriteLine(i);

    public void test2(ref int i) {

    i = 55;

    }

    out定义输出参数

    参数通过引用来传递。ref要求变量必须在传递前初始化。而out参数不用初始化。

    必须声明和调用方都显示使用 out

    示例

    int value;

    g.test3(out value);

    public void test3(out int i) {

    i = 66;

    }

    参考:

    https://www.cnblogs.com/gwyy/p/8028872.html

    转载引用请注明出处。 文章作者:PaulTsao 文章来源:http://www.cnblogs.com/PaulTsao/ 作者信息:www.linkedin.com/apollocaoy
  • 相关阅读:
    ThinkPHP框架基础知识
    ajax分页练习
    实例练习:购物车
    事件
    ajax基础
    jQuery事件
    jQuery基础
    PHP制作登录注册页面
    iview里tree组件改造
    Vue CLI及其vue.config.js(一)
  • 原文地址:https://www.cnblogs.com/PaulTsao/p/11485894.html
Copyright © 2011-2022 走看看