學(xué)習(xí)啦 > 學(xué)習(xí)英語(yǔ) > 專(zhuān)業(yè)英語(yǔ) > 計(jì)算機(jī)英語(yǔ) > c語(yǔ)言中g(shù)et的用法

c語(yǔ)言中g(shù)et的用法

時(shí)間: 長(zhǎng)思709 分享

c語(yǔ)言中g(shù)et的用法

  面向?qū)ο缶幊痰囊粋€(gè)規(guī)則是:使用戶(hù)只需要指定對(duì)象能做什么,而不需要去指定或者了解對(duì)象是如何完成該的。 下面小編就跟你們?cè)敿?xì)介紹下c語(yǔ)言中g(shù)et的用法,希望對(duì)你們有用。

  c語(yǔ)言中g(shù)et的用法如下:

  通過(guò)get和set訪(fǎng)問(wèn)器來(lái)訪(fǎng)問(wèn),就保持了這種規(guī)則,而且還提供了額外的功能,如對(duì)值進(jìn)行檢查,實(shí)現(xiàn)只讀或只寫(xiě)屬性等。

  總的來(lái)說(shuō)就是可以通過(guò)set get 來(lái)對(duì)類(lèi)的屬性進(jìn)行封裝,面向?qū)ο蟮某绦蚴遣豢梢灾苯佑妙?lèi)自己定義的屬性的

  剛剛學(xué)C#的時(shí)候,很多人都不明白屬性的訪(fǎng)問(wèn)器有什么用呢,我上網(wǎng)見(jiàn)了不少的評(píng)論,拉下來(lái)給大家看看

  一般面向?qū)ο缶幊陶Z(yǔ)言都要求成員變量不能直接暴露給外部訪(fǎng)問(wèn),如下:

  public class A

  {

  public int Age; //這是不好的,待會(huì)有程序員可能把-1賦給Age

  }

  為了防止亂賦值,C#設(shè)計(jì)了一個(gè)屬性機(jī)制,要求把成員變量設(shè)為私有,在通過(guò)屬性來(lái)控制成員變量的讀寫(xiě),如下:

  public class B

  {

  private int age; //私有成員變量

  public int Age //age的屬性

  {

  get{ return age; } //讀取器

  set{ //寫(xiě)入器

  if(value>0)

  age = value; //value是準(zhǔn)備寫(xiě)入的值

  }

  }

  }

  這樣Age就像保安一樣,擋在age的前面。訪(fǎng)問(wèn)age的時(shí)候需要通過(guò)Age許可,如下:

  B b = new B();

  b.Age = -1; //這是不行的,-1被帶入value,value<0,判斷不成立

  b.Age = 10; //這是可行的

  如果還有不懂的話(huà)可以留言,我盡量教會(huì)你,下面是我一個(gè)簡(jiǎn)單是例子

  //-------------------------------------------------------------------------------------

  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 ="我愛(ài)你阿";

  clazz.Name="王素瑩";

  Console.WriteLine("{0}他是誰(shuí)?{1}",clazz.ID,clazz.Name);

  Console.ReadLine();

  }

  }

  }

522956