OOP 2014年6月8日09:45:33


 1     /// <summary>
2 /// 字段、方法、属性都可以叫做类的成员Member,它们都需要定义访问级别。
3 /// 访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的。
4 /// public:公共成员,完全公开,没有访问限制;
5 /// private:默认级别。私有成员, 在类的内部才可以访问;
6 /// internal:当前程序集内可以访问;
7 /// protected:保护成员,该类内部和继承类中可以访问。
8 /// </summary>
9 class Person
10 {
11 //private字段
12 private int height;
13 //public属性//属性不会存储值,而是由相应的字段保存值(height=Value);
14 public int Height
15 {
16 get { return height; }//只有get是只读属性
17 set { height = value; }//只有set是只写属性,不常见
18 }
19
20 //【1】private属性和public字段的区别是什么?
21
22 //private属性属性看似字段、不是字段。可以设置只读,可以对设值、取值的过程进行非法值控制。比如年龄禁止设值负数。
23 //而字段则不能进行这样的设置。
24
25 //【2】调用set方法为一个属性设值,然后用get方法读取出来的值一定是set进去的值吗?
26
27 //虽然一般情况下get读取的值就是set设置的值,但是可以让get读取的值不是set设置的值的。
28 //极端的例子:
29 public int Age { get { return 100; } set { } }
30
31 //Person p = new Person();
32 //p.Age = 30;
33 //p.Age++;
34 //Console.Write(p.Age);//输出100
35
36 //加分的补充回答:用reflector反编译可以看出,属性内部本质上就是set_***、get_***方法。
37 }

OOP 2014年6月8日09:45:33,布布扣,bubuko.com

时间: 2024-11-07 16:15:49

OOP 2014年6月8日09:45:33的相关文章

OOP 2014年6月8日09:54:07

1 [1] //new的操作相当于根据类的定义在内存中创建一块独立的区域 2 //所以两个对象修改各自的属性不受影响. 3 4 Person p1 = new Person(); 5 p1.Height = 180;//修改p1指向的对象的Height属性的值为180 6 7 Person p2 = new Person(); 8 p2.Height = 190; 9 10 Console.WriteLine(p1.Height);//输出180 11 Console.WriteLine(p2.

2014年6月7日09:44:05

1 //int i传进来的的时候是复制了一份传进来,折腾的是复制品 2 static void DotIt(int i) 3 { 4 Console.WriteLine(i); 5 i++; 6 Console.WriteLine(i); 7 } 8 9 int i1 = 1; 10 DotIt(i1); 11 Console.WriteLine(i1); 12//输出结果为1 2 1 1 static void Swap(int i1, int i2) 2 { 3 int temp = i1;

2014年4月23日 10:22:08

step 1 : 做tcp网络编程,要解析一批批的数据,可是数据是通过Socket连接的InputStream一次次读取的,读取到的不是需要转换的对象,而是要直接根据字节流和协议来生成自己的数据对象. 按照之前的编程思维,总是请求然后响应,当然Socket也是请求和响应,不过与单纯的请求响应是不同的. 这里Socket连接往往是要保持住的,也就是长连接,然后设置一个缓冲区,网络流不断的追加到缓冲区.然后后台去解析缓冲区的字节流. http://cuisuqiang.iteye.com/blog/

2014年6月6日22:35:21

sln:使用解决方案文件(后缀为sln的文件)表示一个项目组,他通常包含一个解决方案中所有的项目信息.一个sln文件通常由三部分组成:1. 文件版本.2. 工程信息.3. 全局设置. csproj:它是"C Sharp Project"的缩写...net 开发环境中建立项目时,会产生 .csproj 文件,这是C#的项目文件,其中记录了与项目有关的相关信息,例如包含的文件,程序的版本,所生成的文件的类型和位置的信息等. 1 //换行.看起来是两个,其实\和后面的是一体的 2 char

字符串2014年6月7日15:56:54

商业银行 具有创造活期存款的垄断经营特权,并主要发放工商业贷款的金融中介机构 混业经营 银行业.证券业和保险业的相互渗透与一体化经营 分业经营 银行业.证券业和保险业的业务严格分开,禁止业务交叉,彼此的资金不许相互融通 商业银行的流动性 商业银行满足存款人提取现金.支付到期债务和借款人正常贷款需求的能力 现金头寸 现金资产是指现金与现金等值的可随时变现流动性资产 贷款承诺 为借款人提供一定的贷款额度,在承诺期间借款人有权在任何时间使用这笔贷款 贷款出售 商业银行在贷款形成之后,将贷款债权出售给第

2014年4月28日 乱侃人际关系,反思学习方式

body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}

微信公众号智能绑定功能实现(2014年10月24日 更新)

微信公众号智能绑定功能实现(2014年10月24日 更新) 继微信企业号公布后,腾讯改动了公众号的接入方式,在之前的基础上加入了2个表单,之前版本号的智能绑定失效了! 在文章 微信公众号之智能绑定实现初始版本号  的基础上改动,新增腾讯这次添加的表单,本次新增的表单有: encoding_aeskey :EncodingAESKey(消息加解密密钥.长度43位!) callback_encrypt_mode: 消息加解密方式(0:明文模式.1:兼容模式.3:安全模式(推荐)) operation

从头到尾彻底理解KMP(2014年8月22日版)

从头到尾彻底理解KMP 作者:July 时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进. 1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱.所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不够,故才迟迟没有修改本文. 然近期因在北京开了个算法班,专门讲解数据结构.面试.算法,才再次仔细回顾了这个KMP,在综合了一些网友的理解.以及跟我一起讲算法的两位讲师朋友曹博

【每日圣经日历】2014年9月30日

Mardi le 30 Septembre 2014 礼拜二 2014年9月30日 Ainsi en est-il de la résurrection des morts. Le corps est semé corruptible; il ressuscite incorruptible;il est semé méprisable, il ressuscite glorieux; il est semé infirme, il ressuscite plein de force.