基本概念
搞一些跟普通特征值(成员变量)不一样得
- 用于保护成员变量
- 为成员属性的获取和赋值添加逻辑处理
- 解决局限性
- public 内外访问
- private 内部访问
- protected 内部和子类访问
- 属性可以让成员变量在外部
- 只能获取不能修改,只能修改不能获取
基本语法
using System;
namespace Lesson5_成员属性
{
//成员属性
class Person
{
private string name;
private int age;
private int money;
private bool sex;
//属性命名也用帕斯卡
public string Name
{
get
{
//返回之前添加逻辑规则
//可以获取的内容
return name;
}
set
{
//设置之前添加逻辑规则
// value关键字用于表示外部传入的值
name = value;
}
}
//保护处理
public int Money
{
get
{
return money - 5;
}
set
{
//if (value < 0)
//{
// value = 0;
// Console.WriteLine("钱不能少于0");
//}
//money = value;
//加密处理
money = value + 5;
}
}
public bool Sex
{
get
{
return sex;
}
}
//外部能得不能改 自动属性
public float Height
{
get;
set;
}
}
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.Name = "xqw";
Console.WriteLine(p.Name);
p.Money = 1000;
Console.WriteLine(p.Money);
}
}
}
get和set前可以加访问修饰符
- 默认不加
- 低于属性的访问权限
- 不能让get和set的访问权限都低于属性的权限
get和set可以只有一个,一般只有get