闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕濠氬箯閿燂拷 (0) +1 闂傚倷娴囧畷鍨叏瀹ュ拋鍚嬮柛鈩冾殢娴硷拷 (0) +1 闂傚倸鍊搁崐鎼併偑鐎涙ḿ顩查柣鎴f缁狀垶鏌ㄩ悤鍌涘 (0) +1
闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕鏌ュ垂閸ф钃熼柣鏃囥€€閸嬫挸鈽夊▍顓т簼閹便劑宕惰閺€鑺ャ亜閺囩偞顥為悗姘炬嫹闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏缂傚倷璁查弲鐘诲蓟閻旂⒈鏁嶆繝濠傚枤閺嗩厼顪冮妶鍐ㄥ姷闁瑰嚖鎷�>>

正在阅读:面向对象编程,我的思想(下)面向对象编程,我的思想(下)

2004-06-01 10:14 出处:CSDN 作者:flashmagic 责任编辑:linjixiong

  2.3深入探讨函数:
  
  2.3.1构造函数、默认构造函数、 缺省构造函数
  


  对于上面的实例,它已经能完成绝大部分工作了,但它还是不完善的,还有许许多多的细节等到我们去完善!也许有的同学已经注意到了,当我创建完“jingwei”这个对象时,这个对象的所有的属性都是空的,也就是说:这个对象的姓名是未定的、年龄是未定的、性别是未定的、薪水是未定的、午餐也是未定的。而我们想把这些属性都添加上去,就还要用对象调用相应的方法,去一个个修改!天啊,这简直是太麻烦了!有没有什么好方法能够在我们创建对象的同时就完成了对属性赋值的操作呢?哦不,应该说是对属性的初始化呢?当然没问题了,这就需要所谓的构造函数!
  
  构造函数是类中最特殊的函数,它与析构函数的功能正好相反!
  
  从特征上来说:1.它是编程语言中唯一没有返回值类型的函数。
  
  2.它的名称与类的名称必须要完全相同。
  
  3.它必须被声明为公共(public)的类型
  
  4,可以对构造函数进行重载。
  
  5.它在创建对象是自动被调用。
  
  从功能上来说:1.它是对类中的属性进行初始化。
  
  其实,对于上面的程序来说我们没有自己定义构造函数。但是,在这种情况下,系统会自动为我们定义一个“默认构造函数”。他会把数值变量自动赋值为0,把布尔行变量赋值为false等等(但在C++中,默认构造函数不初始化其成员)。如果程序员定义了构造函数,那么系统就不会再为你的程序添加一个缺默认造函数了。(在这里,我们提倡的是自己定义构造函数,而不是用系统的默认构造函数)
  
  还是看个实例吧!这样比较清楚一些!


  //employee.java
  
  public class employee{
  
  private String name; //员工姓名
  
  private int age; //员工年龄
  
  private char sex; //员工性别
  
  private float emolument; //员工薪水
  
  private boolean lunch; //员工午餐
  
  //……等等
  
  public employee(){ //这个就是“默认”构造函数
  
  name = “jw”; //设置员工姓名
  
  age = 20; //设置员工年龄
  
  sex = “M”; //设置员工性别
  
  emolument = 100; //设置员工薪水
  
  lunch = false; //设置员工午餐
  
  }
  
  public void heater(){ //这个方法是用来加工员工的午餐
  
  lunch = true;
  
  }
  
  //……等等
  
  };


  



  

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶鎾煙椤旀娼愰柟宄版嚇瀹曘劍绻濋崒娆愭▕濠电姷顣藉Σ鍛村磻閹捐绠柨鐕傛嫹闂傚倸鍊烽悞锕傚箖閸洖纾块柟鎯版绾剧粯绻涢幋娆忕仼闁哄嫨鍎甸幃姗€鎮欓弶鍨彑婵炲瓨绮嶇划鎾诲蓟濞戙埄鏁冮柨婵嗘椤︺儵姊洪崨濠冾棖闁瑰嚖鎷�