基础知识系列☞C#中→属性和字段的区别
"好吧...准备写个'基础知识系列',算是记录下吧,时时看看,更加加深记忆···"
其实本来准备叫"面试系列"...
字段、属性、你先知道的哪个概念?
***我个人来说先知道的是字段吧,,,刚开始一段时间一直觉得字段 是一个类型,是一个变量 ???(GG)那时候比较迷糊...
你觉得那个概念重要点呢?
***刚开始我觉得属性重要点,毕竟那时候概念还不太清楚;
→有字段了为什么还要属性呢?
***0001.限制只能给字段赋于某个范围的值;0010.要求字段只能读或只能写;0011.在改变字段时能改变对象的其他一些状态;很显然这些都是字段自己办不到的,当然还有很多好处...
0001.属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用。
0010.使用属性,避免将数据成员直接暴露给外界,维护私有字段(保证类的封装性);
0011.可以做线程同步;
0100.可以使用虚属性、或者抽象属性;
0101.可以将属性置于interface中;
0110.可以提供get-only或者set-only版本,甚至可以给读、写以不同的访问权限(C# 2.0支持)。
√-说多少也不如自己动手写写代码...
using System;
namespace TestCode
{
/// <summary>
/// 这是一个测试类
/// </summary>
class test
{
/// <summary>
/// 字段
/// </summary>
private string _filed;
/// <summary>
/// 传统方式来定义的属性
/// </summary>
public string Filed
{
get { return _filed; }
set { this._filed = value; }
}
/// <summary>
/// 语法糖
/// </summary>
public string Property
{
get;
set;
}
static void Main(string[] args)
{
Console.WriteLine("属性、字段测试code");
Console.ReadKey();
}
}
}
代码中的Property是.NET的一个语法糖,直接就是属性名;你或许疑惑没有字段,将值存到哪里了?
好吧,为什么叫语法糖呢,上图...
基础知识系列☞C#中→属性和字段的区别的更多相关文章
- C#中属性和字段的区别
属性和字段的区别 在C#中,我们可以非常自由的.毫无限制的访问公有字段,但在一些场合中,我们可能希望限制只能给字段赋于某个范围的值.或是要求字段只能读或只能写,或是在改变字段时能改变对象的其他一些状态 ...
- 基础知识系列☞C#中数组Array、ArrayList和List三者的区别
数组() #region 数组 //初始化方式_0:先声明再赋值 ]; weekDays_0[] = "Sun"; weekDays_0[] = "Mon"; ...
- [WPF 基础知识系列] —— 绑定中的数据校验Vaildation
前言: 只要是有表单存在,那么就有可能有对数据的校验需求.如:判断是否为整数.判断电子邮件格式等等. WPF采用一种全新的方式 - Binding,来实现前台显示与后台数据进行交互,当然数据校验方式也 ...
- [C# 基础知识系列]C#中易混淆的知识点
一.引言 今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6c11f-ad28-4 ...
- 基础知识系列☞C#中→委托
有些.NET中的高级特性,比如:委托! 有一种怎么也搞不懂的赶脚... 博客读了好几篇,代码也动手写了,书中的一些介绍也看了, 各种搜索关于委托的,至今还处于"会用"的阶段. 该怎 ...
- 基础知识系列☞各版本下IIS请求处理过程区别
转载地址→http://www.cnblogs.com/fsjohnhuang/articles/2332074.html ASP.NET是一个非常强大的构建Web应用的平台, 它提供了极大的灵活性和 ...
- Java中的属性与字段的区别
Java中属性和字段的区别 Java中的属性,通常可以理解为其属名性时根据get和set方法名得出的. 其规则是:去掉get或set后其剩余的字符串,如果第二个字母是小写的,则把第一个字母也变成小写 ...
- 基础知识系列☞Abstract和Virtual→及相关知识
转载地址→http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的 ...
- C# 基础知识系列- 10 反射和泛型(二)
0. 前言 这篇文章延续<C# 基础知识系列- 5 反射和泛型>,继续介绍C#在反射所开发的功能和做的努力.上一篇文章大概介绍了一下泛型和反射的一些基本内容,主要是通过获取对象的类型,然后 ...
随机推荐
- Scala: 包对象
包对象最重要的用途是兼容旧的类库,或者为某些数据类型提供增强版本:一般我们可以将其作为扩展工具方法或数据来使用
- python 内置函数和函数装饰器
python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...
- POJ 1804 Brainman(归并排序)
传送门 Description Background Raymond Babbitt drives his brother Charlie mad. Recently Raymond counted ...
- python pep8
有这个自动的规范检查工具 pip install pep8 具体使用不说了 ==. 百度一堆 http://blog.sae.sina.com.cn/archives/4781 看这里
- TcpClient类与TcpListener类
TcpClient类 //构造方法1 TcpClient t = new TcpClient(); t.Connect(); //构造方法2 IPEndPoint iep = ); TcpClient ...
- Mysql备份还原数据库之mysqldump实例及参数详细说明
[root@localhost myexport]# mysqldump -h211.100.75.204 -uroot -p@^#coopen -P5029 --single-transaction ...
- photoshop工具使用的简单介绍
photoshop工具使用的简单介绍 我所用PhotoShop版本号是cs6,这里对其主要功能做一个简单介绍. 第一部分: 首先,ps的界面主要分为了6部分: 一.最上面的一行的菜单栏,菜单中有:文件 ...
- jQuery基础(1) -- jQuery 语法
通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions).jQuery 语法jQuery 语法是通过选取 HTML 元素,并对选取 ...
- ORACLE查看并修改session和连接最大数
第一步,在cmd命令行,输入sqlplus 第二步,根据提示输入用户名与密码 1. 查看processes和sessions参数 SQL> show parameter processes NA ...
- CodeForces 716A Crazy Computer
题目链接:http://codeforces.com/problemset/problem/716/A 题目大意: 输入 n c, 第二行 n 个整数,c表示时间间隔 秒. 每个整数代表是第几秒.如果 ...