作者KvsG (KvsG)
看板C_Sharp
标题Re: [问题] 这种宣告是什麽意思
时间Thu Oct 30 10:17:51 2008
※ 引述《tramp ( )》之铭言:
: → woodymonkey:有人喜欢写成methods而不用属性的写法吗?属性的概念 10/29 03:09
: → woodymonkey:只有C#有,感觉跟其他oop语言的概念不是很通用… 10/29 03:11
: → abgne:假设有个age 最小不能是18..当要set成18时 就能先判断.. 10/29 15:46
写成属性跟写成方法原则上是一样的. 在中间语言里仍然会把属性转成方法
所以他们之间的差别就是在於你程式的可读性
// 用 method
class StudentM
{
private string m_Name;
public string GetName() {return m_Name;}
public void SetName(string value) {m_Name=value;}
}
// 你在使用时就是要这样
StudentM stdm = new StudentM();
stdm.SetName("John");
string StudentName = stdm.GetName();
// 用 property
class StudentP
{
private string m_Name;
public string Name
{
get{return m_Name;}
set{m_Name = value;}
}
}
// 用起来是像这样
StudentP stdp = new StudentP();
stdp.Name="John";
string StudentName = stdp.Name;
这两个语言, 到了中间语言的阶段其实都会变成一样的... 只是 method 名称不一样
但是在开发中的话... 哪一种写法比较好阅读应该还不错明显吧 ^^"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.89.191
※ 编辑: KvsG 来自: 118.168.89.191 (10/30 10:21)