• 第二节 3属性 简单


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /* 属性
     * 惯用法,属性开头字母大写,字段开头字母小写
     * 只用set或者只有get就可以定义只读或者只写属性(只写的不常见)
     * 可以为set get设置访问经别
     * (.Net3.x)简化set get; public int Age{ get; set; } 适合于set, get 中凤有特殊死搏斗逻辑代码的情况
     * 
     * 字段和属性的区别是什么?属性看似字段,不是字段,可以地非法值控制,可以设置只读
     * set get块内部其实就是get_****...
     */
    namespace _3属性
    {
        class Program
        {
            static void Main(string[] args)
            {
                /*Person3 p = new Person3();
                p.Age = 22; //这里使用set方法
                Console.WriteLine("年龄是:{0}",p.Age);
                
                p.Age--; //这里进行的get操作
                Console.WriteLine("年龄是:{0}", p.Age);*/
    
                //Person4 p = new Person4();
                //p.Age++; //这里没什么用,操作++
                //Console.WriteLine(p.Age);//这里为3,但没有进行添加操作,因为没有保存
    
                Person5 p = new Person5();
                p.Age = 33;
                Console.WriteLine(p.Age);
                
                
                Console.ReadKey();
            }
        }
    
        class Person5 
        {
           private int age;
           public int Age 
           {
               set {
                   this.age = value;
               }
               get {
                   return this.age;
               }
           }
           
        }
    
        class Person3 
        {
            private int age;
            public int Age { //Age没有保存数据,都是保存到age中了
                set //赋值
                {
                    //这里对值进行过虑
                    if (value < 0) //public 字段和属性的区别,可以进行非法设置值的判断
                    {
                        return;
                    }
                    this.age = value;   //value就代表用户赋值过来的值 
                }
    
                get{ //取值
                    return this.age;
                }
            }
        }
    
        class Person4 
        {
            public int Age {
                set{ 
                }
    
                get{
                    return 3;
                }
            }
        }
    }
    

      

  • 相关阅读:
    玩转动态编译
    [源码]RandomId 生成随机字符串
    玩转动态编译:四、封装
    玩转动态编译:三、提高性能,抛弃反射
    玩转动态编译:一、初识
    封装和内置函数property classmethod staticmethod
    面向对象--命名空间和组合
    初始面向对象
    模块之序列化模块和包
    模块 time模块 sys模块 os模块
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/2365833.html
Copyright © 2020-2023  润新知