• 关于在C#对类的属性理解


        在类中都有一些成员。什么是类中的成员呢,我个人理解的是一个类中所应有的属性,方法,字段(因为目前才接触到类。所以类中一些其它应有的东西还不太熟悉),现在只探讨我列举的这几个在类中应有的东西。什么是属性呢。属性就是标志一些事物的特征。比如一个人所具有的属性就有身高,体重,年龄,性别……。然而在类中的属性是指一个字段应有的一些特征。比如在一个类中定义了一具int变量(对象)后。则这个变量就知道存储整型的数字。这就是它的属性,在C#中使用属性是为了提高安全性。当然也是为了符合面向对象程序设计的思想,不能在外部访问其内部的字段。在C#中使用get方法来读取值,使用set方法来写入值。这两种方法可以结合使用,也可以分开使用。所以一个对象就有了三种属性,分别是读,写,读写。好了,废话不多说。我们上代码。

    代码如下:

    using System;
    namespace property
    {
      class a
        {
            private string str1;//定义字符串1
            public string pro_str1//定义字符串的属性
            {
               get//读的属性
                {
                    return str1;//返回值
                }
                set//写的属性
                {
                    str1 = value;//重新赋值
                }
            }

            private string str2="这个是类中的只读属性,不能写只能读";//定义字符串2
            public string pro_str2//定义字符串的属性
            {
                get//读的属性
                {
                    return str2;//返回值
                }

            }
            private string str3;//定义字符串3
            public string pro_str3//定义字符串的属性
            {
                set//写的属性
                {
                    str3 = value;//重新赋值
                }
            }
           public void print()
            {
                Console.WriteLine("{0}", str3);//因为str3在外部只可以写不能读,所以在类中定义方法将其读出。
            }
        }
      class b
        {
          static void Main()
            {
                a temp = new a();//将类实例化
                temp.pro_str1 = "这个是类中的读写属性";//通过str1的属性为其赋值
                Console.WriteLine("{0}", temp.pro_str1);
                Console.WriteLine("{0}", temp.pro_str2);
                temp.pro_str3 = "这个是类的写属性,不能读,但是可以写";//通过str3的属性为其赋值
                temp.print();//读取str3
                Console.ReadKey();
            }
        }
    }

    结果如下:

    这个是类中的读写属性
    这个是类中的只读属性,不能写只能读
    这个是类的写属性,不能读,但是可以写

  • 相关阅读:
    算法与数据结构——排序(五)希尔排序
    算法与数据结构——排序(四)简单插入排序
    算法与数据结构——排序(九)快速排序
    算法与数据结构——排序(六)堆排序
    [Keil51]51单片机定时器的方式0使用注意
    [转]简单的随机数加密算法实现
    [KeilC51]MCS51指令集中ret和reti的区别___待续
    [C]FILE结构体(不知其然,不知所以然)
    [KeilC51]这几天遇到的问题
    [KeilC51] keil c51编译器不支持匿名结构体
  • 原文地址:https://www.cnblogs.com/ZERO-TAO/p/5467483.html
Copyright © 2020-2023  润新知