成员访问级别和属性

原创 小道  2018-08-20 20:59:49  阅读 468 次 评论 0 条
摘要:

字段、方法、属性都可以叫做类的成员Member,它们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的。几个访问级别:public(任何地方都可以访问);private(默认级别。只能由本类中的成员访问)。还有internal、protected两个级别。永远不要把字段设置成public。快速定义属性方法:将光标定位到 字段名上,同时按下:CTRL+R+E。可以快速定义 字段的属性。惯用法:属性开头字母大写,字段开头字母小写。只用set或者只用g

字段、方法、属性都可以叫做类的成员Member,它们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的。

几个访问级别:public(任何地方都可以访问);private(默认级别。只能由本类中的成员访问)。还有internal、protected两个级别。

永远不要把字段设置成public。

快速定义属性方法:将光标定位到 字段名上,同时按下:CTRL+R+E。可以快速定义 字段的属性。


惯用法:属性开头字母大写,字段开头字母小写。

只用set或者只用get就可以定义只读或者只写属性(只写的不常见)。

可以为set、get设置访问级别。

允许外部访问的值一定要声明为属性。

字段和属性的区别是什么?属性看似字段、不是字段,可以进行非法值控制,可以设置只读。

    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person();
            p.Age = 18;//将18传递给value
            p.Name("铁锤");//将字符串"铁锤"传递给string a。
            p.Say();
            Console.ReadKey();
        }
    }
    class Person
    {
        private int age;//字段,名称为小写。一般所有字段全部设置成private局部访问。
        private string name;
        public int Age//属性,名称首字母大写,一般所有属性设置成public全局访问。可以只有set或者get.
        {
            set//设置值
            {
                if (value <100)//判断传递过来的值是否小于100
                {
                    this.age = value;//this表示这个,可省略不写。value表示传递过来的值。
                }
            }
            get//返回值
            {
                return this.age;//返回去的值。
            }
        }
        public string Name(string a)//这个是有返回值的函数。
        {
            if (a != "王钢蛋")//判断传递过来的值是否为:王钢蛋。
            {
                name = a;//不为王钢蛋,则执行。
                return name;//返回名字。
            }
            return "我不叫:王钢蛋。";//否则执行这句。
        }
        public void Say()//函数(或叫方法)和函数用法相同。可以有返回值,也可以无返回值。
        {
            Console.WriteLine("你好!我叫:{0},我今年{1}岁了。", this.name, this.Age);
        }

    }

输出结果:


image.png

本文地址:https://www.daobk.com/post/36.html
版权声明:本文为原创文章,版权归 小道 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?