程式設計中建構函式與方法的區別

  計算機程式設計有很多專業的術語,如建構函式,有人會說建構函式不是程式設計方法嗎?其實這兩者還是有些區別的,下面小編告訴你。

  建構函式與方法的區別

  1.在C#中,一些都是物件。你要用一個物件,就必須用new來例項化類***static類例外***。當你用new命令時,系統就會自動呼叫該類的建構函式,做些初始化之類的工作。至於方法,你只能通過手工方式用"object.method******"的方式呼叫。

  2.類中可以沒有建構函式,因為沒有時,系統會自己幫你生成一個不帶參量的空的建構函式,它什麼事都不會幹,只是因為語法的原因而存在。建構函式是可以過載的***還是過載了,我也記不清這兩個概念***。這方法你只能看書了,java和c#上都有講很多的。

  3.堆***stack***和棧***heap***是儲存臨時資料的地方,就是我們說的快取吧。物件的字柄是存在heap中的,基本型別***如int,char等***是存在stack中的。stack的速度比heap快。

  4.建構函式就是構造方法,有的地方也叫做構造器。建構函式名與類名相同,方法是自定義的。構造方法是一種特殊的方法,作用是初始化成員變數。

  5.建構函式就是一類特殊的方法。 他不同於其他方法的地方

  一、建立物件時建構函式自動執行,而一般方法必須有呼叫語句呼叫才能執行

  二、建構函式與類名必須相同***含大小寫***

  三、建構函式不能有返回值型別

  例如

  class A

  {

  public A******{ }//建構函式名與類名相同,沒有返回值型別

  public string B******{ ...;return "str";}

  //普通方法要有返回值型別,如無返回值必須寫void

  }

  A aa=new A******;

  //建立物件aa的時候會自動執行類a的建構函式A******

  aa.B******;

  //普通方法B只能遇到呼叫他的語句才會被執行

  小編推薦:JAVA建構函式例子

  public class UserManagerImpl implements UserManager {

  private UserDao userDao;

  public UserManagerImpl***UserDao userDao***{

  this.userDao=userDao;

  }

  public void save***String username,String password***{

  this.userDao.save***username, password***;

  }

  }