zoukankan      html  css  js  c++  java
  • C# property简介

    property专属的关键字就只有value。其他的性质实现都是用其他的方法的组合。property通过对一系列方法的灵活组合应用,能够间接地对私有的成员变量进行赋值操作和得到值。因为是间接地,私有变量的隐私性也是得到了保护。在下面这个例子中:

    定义一个Teacher类。老师的性别是隐私的,名头也是隐私的。但是,可以定义一个property,用set和get方法间接地外部操作。注意这个专有的关键词value,它代表在外部赋值时等号右边的值,也就是输入的值。在property的set内部,是可以对value进行操作的。set方法是非常灵活的,可以有多种操作。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <strong>using</strong> System;
    <strong>namespace</strong> PropertyQuest
    {
    class Teacher{
    string sex;//性别是私有的
    string title;//头衔是私有的.假如头衔就是女老师,男老师
    <strong>public</strong> stringTitle{
    set{
    sex = value.<strong>Split</strong>(' ')[0];//value是你在主程中,对Title赋值的时候,等号右边传递的值.
    //字符串的split()方法是以一个或若干个字符为分隔符,分隔后的子串以字符串数组形式返回.这和Python蛮像的.
    //[0]就是要得到第一个字符串.因为我要输入的Title是"female teacher"或者"male teacher",因此
    //我以空格分割后,第一个字符串就是性别
    title = value;//上一步操作sex,这一步操作title.说明set方法是很灵活的,一次可以设置多个成员变量
    get {
    return title;//间接得到title,title在set中已经设置
    }
    }
    <strong>public</strong> string Sex {
    get{
    return sex;//间接得到sex的值.在上一个property中,sex被设置,在
    //这个property中,单独使用get,得到sex.很灵活的
    }
    }
    }
     
    class Program{
    <strong>public</strong> static void <strong>Main</strong>(string[] args)
    {
    Teacher t = <strong>new</strong> Teacher();
    t.Title = "female teacher";//等号右边的就是value的值,赋给property Title后,在Title内部是会被操作的.
    //间接地再赋给私有的成员变量.私有成员变量在当前类是不可见的,
    //但是在Teacher类中是可见,因此可以被其他代码块使用,比如Title{}中的set{}.
    Console.<strong>WriteLine</strong>(t.Sex);//通过property Sex间接得到私有成员变量sex的值
    Console.<strong>WriteLine</strong>(t.Title);//通过property Title间接得到私有成员变量title的值
    Console.<strong>Write</strong>("Press any key to continue . . . ");
    Console.<strong>ReadKey</strong>(<strong>true</strong>);
    }
    }
    }
  • 相关阅读:
    Three.js黑暗中的萤火虫
    Three.js会飞走飞回来的鸟
    Three.js响应和移动物体
    Three.js加载gltf模型
    Three.js创建运动立体几何体示例
    activemq artemis安装运行及其在springboot中的使用
    activemq安装运行及其在springboot中的queue和topic使用
    springboot成神之——mybatis和mybatis-generator
    java成神之——安全和密码
    java成神之——网络编程基本操作
  • 原文地址:https://www.cnblogs.com/ganbing/p/6183746.html
Copyright © 2011-2022 走看看