C# 属性
来源:互联网 发布:mac air哪个键是insert 编辑:程序博客网 时间:2024/06/11 17:29
属性是通过getset来实现的
属性可以只有读或者只有写,也可以加访问修饰符。
class A{
private int x, y;
public A(int a,int b)
{
x= rangeCheckedX(a);//调用判断函数,判断值是否在设定的范围之中,不在就抛异常
y = rangeCheckedY(b);
}
//属性。
public int X
{
get {return this.x;}
set { x = rangeCheckedX(value); }
}
public int Y
{
// get {return this.y;}
set { y = rangeCheckedY(value); }
}
private int rangeCheckedX(int i)
{
if (i > 100 || i < 0)
{
throw new ArgumentOutOfRangeException("X");
}
return i;
}
private int rangeCheckedY(int i)
{
if (i > 100 || i < 0)
{
throw new ArgumentOutOfRangeException("Y");
}
return i;
}
}
static void Main(string[] args)
{
A a1 = new A(70, 70);
Console.WriteLine(a1.X);
a1.X = a1.X + 30;
Console.WriteLine(a1.X);
a1.Y = 30;
}
属性还可以直接定义,和别的值没有关系。
这种定义方法,get和set都必须存在。
public int X
{
get;
set;
}
还可以给接口定义属性在接口里面,get和set没有大括号
interface jiekou
{
int X { get; set; }
int Y {get;set;}
}
类继承接口的属性与函数类似,只需要实现就可以。并且还可以在类中将接口定义成virtual
0 0
- C#属性
- c# 属性
- C# 属性
- C#属性
- C#属性
- C# 属性
- C#属性
- c#属性
- C#属性
- C#属性
- C#属性
- C#属性
- C# 属性
- C#属性
- c#属性
- C# 属性
- C# 属性
- C#属性
- 操作系统知识点梳理
- 面——经1
- [其它笔记001]:常用RGB颜色按灰度值排序
- 我的java学习路之I/O流
- 蓝桥杯:世纪末的星期
- C# 属性
- mysqli_affected_rows 与 mysqli_num_rows的不同之处
- 初学者的c普遍赋值问题
- sdut3257(质因数分解)立方和数
- ZJOI2017蒟蒻游记6 (day2)
- oracle部分查询语句
- 【经典策略系列】之 Dual Thrust 交易策略
- JSP —— jsp页面访问资源 路径问题
- 调试my eclipse