首页 > 代码库 > 2.C#面向对象基础属性
2.C#面向对象基础属性
属性:
1.一般属性开头字母大写,字段开头字母小写。
2.通过public来赋值的方法无法判断赋值是否非法!
3.无论赋值如何,取值如果就是不采用赋值的结果,那么无论赋值什么都不管用。
4.经典错误之死循环。
例一:
通过public来赋值的方法无法判断赋值是否非法!
验证代码如下:
using System;using System.Collections.Generic;using System.Text;
namespace stduy2{ class Program { static void Main(string[] args) { Person p = new Person(); p.Age = 22;//赋值 Console.WriteLine("星云的年龄:Age={0}",p.Age);//取值结果22 p.Age = -100; Console.WriteLine("所以星云修改后的年龄:Age={0}\n", p.Age);//取值结果22 p.Age1 = -100;//这种赋值方法,无法判断合法值 Console.WriteLine("通过public来赋值的方法无法判断赋值是否非法!\n所以星云新的年龄为错误值:Age1={0},", p.Age1);//取值结果-100 Console.ReadKey(); } } class Person { private int age; public int Age1; public int Age { set //赋值 { if (value< 0) { Console.WriteLine("\n警告:年龄修改失败,年龄将保持不变,失败原因:年龄不能为负数!"); } else this.age = value; } get //取值 { return this.age; } } }}
运行截图:
例二:
无论赋值如何,取值如果就是不采用赋值的结果,那么无论赋值什么都不管用。
代码验证如下:
using System;using System.Collections.Generic;using System.Text;namespace stduy2{ class Program { static void Main(string[] args) { Person p = new Person(); p.Age = 22;//赋值 Console.WriteLine("星云的年龄:Age={0}",p.Age);//取值返回值520 p.Age = -100; Console.WriteLine("所以星云修改后的年龄:Age={0}\n", p.Age);//取值,返回值为520 p.Age = 22; p.Age = p.Age + 1; Console.WriteLine("\n计算后星云年龄为p.Age={0}",p.Age);//取值,所以返回值是520 Console.ReadKey(); } } class Person { private int age; public int Age1; public int Age { set //赋值 { if (value< 0) { Console.WriteLine("\n警告:年龄修改失败,年龄将保持不变,失败原因:年龄不能为负数!"); } else this.age = value; } get //取值 { return 520; } } }}
程序运行截图:
例三:经典错误之死循环:
代码如下:
using System;using System.Collections.Generic;using System.Text;namespace stduy2{ class Program { static void Main(string[] args) { Person p = new Person(); p.Age = 22;//赋值 Console.WriteLine("星云的年龄:Age={0}",p.Age);//取值死循环 Console.ReadKey(); } } class Person { private int age; public int Age { set //赋值 { this.Age = value; } get //取值 { return this.Age; } } }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。