c語言中g(shù)et的用法
c語言中g(shù)et的用法
面向?qū)ο缶幊痰囊粋€規(guī)則是:使用戶只需要指定對象能做什么,而不需要去指定或者了解對象是如何完成該的。 下面小編就跟你們詳細介紹下c語言中g(shù)et的用法,希望對你們有用。
c語言中g(shù)et的用法如下:
通過get和set訪問器來訪問,就保持了這種規(guī)則,而且還提供了額外的功能,如對值進行檢查,實現(xiàn)只讀或只寫屬性等。
總的來說就是可以通過set get 來對類的屬性進行封裝,面向?qū)ο蟮某绦蚴遣豢梢灾苯佑妙愖约憾x的屬性的
剛剛學C#的時候,很多人都不明白屬性的訪問器有什么用呢,我上網(wǎng)見了不少的評論,拉下來給大家看看
一般面向?qū)ο缶幊陶Z言都要求成員變量不能直接暴露給外部訪問,如下:
public class A
{
public int Age; //這是不好的,待會有程序員可能把-1賦給Age
}
為了防止亂賦值,C#設計了一個屬性機制,要求把成員變量設為私有,在通過屬性來控制成員變量的讀寫,如下:
public class B
{
private int age; //私有成員變量
public int Age //age的屬性
{
get{ return age; } //讀取器
set{ //寫入器
if(value>0)
age = value; //value是準備寫入的值
}
}
}
這樣Age就像保安一樣,擋在age的前面。訪問age的時候需要通過Age許可,如下:
B b = new B();
b.Age = -1; //這是不行的,-1被帶入value,value<0,判斷不成立
b.Age = 10; //這是可行的
如果還有不懂的話可以留言,我盡量教會你,下面是我一個簡單是例子
//-------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
public class Myclass
{
private string id="";
private string name="";
public string ID
{
get
{
return id;
}
set
{
id =value;
}
}
public string Name
{
get
{
return name;
}
set
{
name =value;
}
}
}
class Program
{
static void Main(string[] args)
{
Myclass clazz = new Myclass ();
clazz.ID ="我愛你阿";
clazz.Name="王素瑩";
Console.WriteLine("{0}他是誰?{1}",clazz.ID,clazz.Name);
Console.ReadLine();
}
}
}