C# 核心语法-成员属性

using System;

 

namespace lesson5_成员属性

{

    #region 知识回顾

 

    #endregion

 

    #region 成员属性的基本概念

    //基本概念

    //1.用于保护成员变量

    //2.为成员属性的获取和赋值添加逻辑处理

    //3.解决3P的局限性

    // public——内外访问

    // private——内部访问

    // protected——内部和子类访问

    //属性可以让成员变量在外部

    //只能获取 不能修改 或者 只能修改 不能获取

    #endregion

 

    #region 成员属性的基本语法

    // 访问修饰 属性类型 属性名

    // {

    // get{}

    // set{}

    //

    // }

 

    class Person

    {

        private string name;

        private int age;

        private int money;

        private bool sex;

 

        //属性命名一般使用 帕斯卡命名法 大写开头

        public string Name

        {

            get 

            {

                //为成员属性的获取和赋值添加逻辑处理

                //意味着 这个属性可以获取的内容

                return name;

            }

            set

            {

                //为成员属性的获取和赋值添加逻辑处理

                //value 关键字 用于表示 外部传入的值

                name = value;

            }

        }

 

        #region 成员属性中 get和set前可以加访问修饰符

        //注意

        //1.默认不加 会使用属性申明时的访问权限

        //2.加的访问修饰符要低于属性的访问权限

        //3.不能让get和set的访问权限都低于属性的权限

        #endregion

 

        public int Money

        {

            get

            {

                //解密处理

                return money - 5;

            }

            set

            {

                //加密处理

                money = value + 5;

            }

        }

 

        /*public int Money

        {

            get 

            {

                return money;

            }

            set 

            {

                if (value < 0)

                {

                    value = 0;

                    Console.WriteLine("钱不能少于0,强制设置为0了");

                }

                money = value;

            }

        }*/

 

        #region 成员属性中 get和set前可以加访问修饰符

        //注意

        //1.默认不加 会使用属性申明时的访问权限

        //2.加的访问修饰符要低于属性的访问权限

        //3.不能让get和set的访问权限都低于属性的权限

        #endregion

 

        #region get和set可以只有一个

        //注意

        //只有一个时 没必要在前面加访问修饰符

        //一般情况下 只会出现 只有get的情况 基本不会出现只有set

 

        public bool Sex

        {

            get

            {

                return sex;

            }

            /*set 

            {

                sex = value;

            }*/

        }

        #endregion

 

        #region 自动属性

        //作用:外部能得不能改的特征

        //如果类中有一个特征是只希望外部能得到不能改的 又没什么特殊处理

        //那么可以直接使用特殊属性

 

        public float Height

        {

            //没有在get和set中写逻辑的需求或想法

            get;

            set;

        }

        #endregion

 

    }

    #endregion

 

    class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("成员属性");

 

            #region 成员属性的使用

            Person p = new Person();

            p.Name = "于双";

            Console.WriteLine(p.Name);

 

            p.Money = 1000;

            Console.WriteLine(p.Money);

 

            //Console.WriteLine(p.Sex);

            //p.Sex = false;

            #endregion

 

        }

    }

 

    //总结

    //1.成员属性概念:一般是用来保护成员变量的

    //2.成员属性的使用和变量一样 外部用对象点出

    //3.get中需要return内容 ;set中要用value表示传入的内容

    //4.get和set语句块中可以加逻辑处理

    //5.get和set可以加访问修饰符 但是要按一定规则进行添加 

    //6.get和set可以只有一个

    //7.自动属性是属性语句块中只有get和set,一般用于 外部能不能改的这种情况

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值