• C#编程(十三)----------方法重载


    C#支持方法的重载---方法的几个版本有不同的签名即可(即,方法名相同,但是参数个数和/或类型不同).为了冲在方法,只需要声明同名单参数个数或类型不同的方法即可.

    注意:两个方法不能仅在返回类型上有区别.

    两个方法不能仅根据声明为ref还是out来区分.

    属性的概念是:以个方法货一堆属性,在客户端代码看来,他们是一个字段.属性就是用来对字段进行赋值或取值的.

    例如

    class Person

            {

                private string _name;//字段

                public string Name//属性

                {

                    get { return name; }

                    set { name = value; }

                }

            }

    get访问器不带任何参数,且必须返回属性声明的类型.也不应为set访问器指定任何显示参数.但是编译器嘉定它带有一个参数,其类型也与属性相同,并表示为value.

    注意到这里命名规范了吗?

    只读和只写属性

    在属性定义中省略set访问器就是只读属性,省略get访问器就是只写属性.

    虽然属性可以设置修饰符,但是一般不这么用.

    自动属性.

    public int Age

    {

    get;

    set;

    }

    不需要声明private int _age,编译器会自动创建他.使用自动实现的属性,就不能再属性设置中验证属性的有效性,所以在自动属性 public int Age{get;set;}中,不能检验是否设置了无效的年龄.但必须有两个访问器.尝试把该属性设置为只读属性,就会出错.

    public int Age{get;}

    但是,每个访问器的访问级别可以不同.所以下面的代码是合法的

    public int Age{get;private set;}

     我们无法使用像 C++中inline这样的关键字来控制哪些方法是内联的。

  • 相关阅读:
    ubuntu mint 开机启动项管理
    ubuntu mint 15 编译安装PHP开发环境
    cakephp recursive -1,0,1,2 速查
    git revert all changes
    windows环境变量修改立刻生效的办法
    windows7 mysql install
    ubuntu ll命令
    [Matlab]算法工匠视频1:数字信号处理仿真及实现 第一讲 信号源的产生和滤波1、2
    [Maltab]线性卷积、周期卷积及循环(圆周)卷积
    [C++]自编FFT(递归形式)
  • 原文地址:https://www.cnblogs.com/android-blogs/p/6483167.html
Copyright © 2020-2023  润新知