C#——属性读写
来源:互联网 发布:北京通州淘宝运营培训 编辑:程序博客网 时间:2024/06/07 06:07
【前言】
C#是面向对象的一门语言,对象是实实在在存在的具体的特指的事物,他有本身的行为即属性,有他的动作操作即方法,把具有共同特征的对象进行抽象,就得到类。所以类是抽象的,对象是实际存在的,对象是类的实例化结果。
【内容】
思维导图:
1.类的组成包括字段,属性和方法。
字段:
为什么用private定义?
定义类的变量成员,描述对象的状态信息。
所以类的字段最好以私有的方式提供给类的外部,否则不适的操作将造成不必要的错误方式,破坏对象的状态信息,数据安全性和可靠性无法保证。所以字段用private定义。并且是不对外暴露,也就是说是私有或者是保护变量。
假如:给字段赋值:zsStu.age=800,显然张三的年龄不可能是800,这样存入数据库会破坏数据库的数据的完整性,如果随意改更会破坏数据的安全性。所以我们将字段定义为private。字段已经设为私有变量,那外部如何访问及对其操作?并且可以保证数据的完整性呢?所以要定义共有的属性,供外部访问。
属性:
定义一个public的变量,在这个方法中含有get/set方法。标明这个属性是可读还是可写。外部如果要操作(读、写)这些字段,需要通过对外暴露出来的属性(ID)的get(读)、set(写)操作。
作用:用public定义,供外部函数访问,这样可以保护私有的字段不被随意更改。
下面代码是在Person类中为私有变量age定义了共有属性Age.
当对属性Age赋值时,会自动调用set方法,当读取属性Age的值时,会自动调用get方法。
在get/set方法中也可以添加判断,保证读写的合法准确性。
<span style="font-family:SimSun;"> private int age; public int Age { get { if (age >= 0 && age <= 150) { return age; } else { return 18; } } //读值 set { //age = 10; //在写的里面判断 if (value >= 0 && value <= 150) { age = value; } else { age = 18; } age = value; }//赋值</span>
方法:
方法是对象可以实现的操作。在定义的类中定义方法,可供外部的函数直接调用。
//定义类的方法操作 public void SayHello() { Console.WriteLine("hello,大家好,我是人,年龄是{0}",Age); } public void Walk() { Console.WriteLine("我走着呢"); }
当我们访问类的属性的时候,需要多次赋值,出现了冗余的代码;当我们对zsStu.Age=-88,当对写入操作没有限制的时候,就破坏了数据的完整性,并且不安全。
static void Main(string[] args) { student zsStu = new student(); zsStu.Name = "张三"; zsStu.Age = 18; zsStu .Gender ='男'; zsStu .Chinese =90; zsStu .Math =95; zsStu .English =80; zsStu .sayhello (); zsStu .score (); //冗余 Console.WriteLine("=============================="); student xlStu = new student(); xlStu.Name = "小兰"; xlStu.Age = 16; xlStu.Gender = '女'; xlStu.Chinese = 95; xlStu.Math = 85; xlStu.English = 60; xlStu.sayhello(); xlStu.score(); Console.ReadKey(); }
【总结】
试着用思维导图,这样条例很清晰,并且可以找到各部分之间的联系,会明白为什么要学习这块内容,就像为什么变量用private生命,而属性用public定义?以及属性的读写操作是怎么使用的。类只有实例化为对象之后才可以使用,类的字段是私有的变量,这时我们要想访问类就需要定义类的属性,为public.供外部的方法访问。
0 0
- C#——属性读写
- C#—文件读写
- C——文件读写
- c——文件读写
- c——文件读写
- c——文件读写
- 文件读写——C语言
- 文件读写——C语言
- 大文件读写——C语言
- C语言——文件读写1
- C语言——文件读写2
- C语言——文件读写操作
- 大文件读写——C语言
- C#——读写ini文件
- C#——字段 & 属性
- C++_ArcGIS10环境下读写中文属性值的问题
- c语言中的文件读写方式一——读写字符函数
- c语言中文件读写方式(二)——数据块读写函数
- POJ 3277 City Horizon【map模板】【stl练习】
- Java垃圾回收机制
- poj2237 Bad Cowtractors 最大生成树
- STL-set (集合)之删除元素
- [编程之美]写一个函数,返回一个数组中所有元素被第一个元素除的结果
- C#——属性读写
- VS2012 IIS发布.net MVC 网站后无法正常访问
- House Robber(窃贼的计划)
- 穷举接口-将PE作为DLL载入
- js高级函数式编程
- 08-图像标签
- 程序中的小方法
- 解决kvm虚拟机windows系统间歇性网络中断的问题
- 图像处理-图像的三要素