2.3深入探討函數:

2.3.1構造函數、默認構造函數、 缺省構造函數
對于上面的實例,它已經能完成絕大部分工作了,但它還是不完善的,還有許許多多的細節等到我們去完善!也許有的同學已經注意 " /> 中文中幕无码亚洲视频,中文字幕永久在线观看,国产三级精品三级在线观看

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

面向對象編程,我的思想(5)


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;

}

//……等等

};這樣,在我們創建“jingwei”這個對象的同時,它的所有的屬性也被初始化了!顯然,這大大的提高了工作效率,但是,它還是不符合要求。想想看,如果我們現在創建這個類型的第二個對象的時候會發生什么事情?告訴你,除了對象的“名”(這個名稱不在是對象屬性中的名稱,而是對象本身的名稱)不一樣外,其所有的“屬性值”都一樣!比如:現在我們創建第二個對象flashmagic,然而我會發現這個對象的所有的屬性和jingwei這個對象的所有的屬性完全相同。而我們只能在用對象的方法去改變著寫屬性了!很顯然,這種方法不大好!我們需要一種方法在創建對象的時候為對象的屬性賦予“我們想要的值”。相信你也看到了,默認構造函數就顯得無能為力了。我們需要的是帶參數的構造函數,在創建對象時,我們把參數傳給構造函數,這樣就能完成了上述的功能!口說無憑,還是來看個實例吧:
//employee.Java

public class employee{

private String name; //員工姓名

private int age; //員工年齡

private char sex; //員工性別

private float emolument; //員工薪水

private boolean lunch; //員工午餐

//……等等

public employee(String n,int a,char s,float e,boolean l){ //看這個構造函數

name = n; //設置員工姓名

age = a; //設置員工年齡

sex = s; //設置員工性別

emolument = e; //設置員工薪水

lunch =l; //設置員工午餐

}

public void heater(){ //這個方法是用來加工員工的午餐

lunch = true;

}

//……等等

};這樣一來,在創建對象的同時我們就可以給他賦予我們想要的值,很顯然,這可就方便多了。哦,對了!還沒有告訴你怎么創建呢!哈哈,往前翻幾頁你會看到這句話:jingwei = new employee();這是創建一個對象,而我們把它改成jingwei = new employee("jingwei",20,'M',100,false);這樣一來,所有的工作都完成了,呵呵!(在創建對象的同時賦予了我們想要的“初值”)

jsp技術面向對象編程,我的思想(5),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美成人亚洲高清在线观看 | 国产不卡视频在线观看 | 快播可乐网 | 国产乱码一区二区三区 | 日本综艺大尺度无删减版在线 | 免费99精品国产自在现线 | 特级aa 毛片免费观看 | 好男人免费观看在线高清WWW | 国产欧美国产综合第一区 | 亚洲视频免费观看 | 老奶奶50p| 甜性涩爱在线播放 | 亚洲欧美自拍清纯中文字幕 | 肉多的小说腐小说 | 久久爽狠狠添AV激情五月 | 国产在线观看码高清视频 | 国产精品99久久久久久动态图 | 免费观看男生桶美女私人部位 | 99re热有精品国产 | 欧美zozofoot | 羞羞麻豆国产精品1区2区3区 | 搞av.com | 囯产精品久久久久久久久免费蜜桃 | 国产九九熟女在线视频 | 手机看片一区二区 | 鲁大师影院在线视频在线观看 | 色婷婷亚洲精品天天综合影院 | WRITEAS塞红酒瓶 | 美目盼兮amy198281 | 午夜福利体验免费体验区 | 亚洲 欧美 中文 日韩 另类 | 一本道久在线综合道 | 19十主播福利视频 | 成熟YIN荡美妞A片视频麻豆 | 久久久久国产精品嫩草影院 | 亚洲精品国产乱码AV在线观看 | 黄瓜视频苹果直接安装 | 久久er国产精品免费观看2 | 中国二级毛片 | 免费在线视频一区 | 蜜柚免费视频高清观看在线 |