C# 面向对象03 属性和方法

使用 set 与 get 方法保护数据

using System;
using System.Collections.Generic;
using System.Text;

namespace Person类
{
    class Person
    {
        private string _gender;
        private int _age;
        // 设置属性,开头大写,只有set和get方法,则不需要 _name 写法
        public string Name{
            set;
            get;
        }
        // 属性只有两个方法,set 和 get,只有 set 表示只写,只有 get 表示只读
        // 能够修改set和get方法,使 设置值 或 获取值时保护
        public int Age
        {
            set{
                _age = value;
                // 使用方法保护数据
                if (_age < 0 || _age > 140) 
                {
                    Console.WriteLine("你设置尼玛的年龄呢!: 年龄:{0}", _age);
                    _age = -1;
                }
            }
            get{
                return _age;
            }
        }
        // 属性缺省写法,在调用时设置
        public string Gender
        {
            set{
                _gender = value;
                if (Gender != "男" && Gender != "女")
                {
                    Console.WriteLine("设置个毛线的性别!性别:{0}", Gender);
                    _gender = "无";
                }
            }
            get{
                return _gender;
            }
        }
        public void introduce()
        {
            Console.WriteLine("我叫{0},我今年{1}岁了,我的性别是{2}。", Name, Age, Gender);
        }
    }
}

使用定义的类

using System;

namespace Person类
{
    class Program
    {
        // 属性可以保护类中的变量
        static void Main(string[] args)
        {
            Person zhang = new Person();
            zhang.Age = 118;
            zhang.Name = "张三";
            zhang.Gender = "?";
            zhang.introduce();
        }
    }
}

效果一

效果二

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值