六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

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

[摘要]2.3.2重載構造函數:我還是先把概念給你吧,讓你有個認識,隨后我們在進行論述。在JAVA中:1. 函數重載是一個類中聲明了多個同名的方法,但有不同的參數個數和參數類型。2. 函數重構是指在子類中聲明與父類同名的方法,從而覆蓋了父類的方法。重構解決了子類與父類的差異問題。(在討論到繼承時我會詳細說...

2.3.2重載構造函數:我還是先把概念給你吧,讓你有個認識,隨后我們在進行論述。在JAVA中:1. 函數重載是一個類中聲明了多個同名的方法,但有不同的參數個數和參數類型。2. 函數重構是指在子類中聲明與父類同名的方法,從而覆蓋了父類的方法。重構解決了子類與父類的差異問題。(在討論到繼承時我會詳細說明)在C++中:1. 數重載的概念一樣。2. 重構的概念可就不一樣了,C++中功能更為龐大的虛函數。更詳細內容這里就不錯過多介紹了!其實關于重載的概念你并不陌生,在編程中相信你也接觸過。呵呵!讓我們來舉個操作符重載的例子你就會明白了,(JAVA中不支持這個功能)我們定義三個整數變量:int i1=2, i2=3,i3=0;

i3 = i1 + i2;

此時i3=5;加號實現了兩個數相加的運算功能。然而我們現在要定義三個字符串變量:

String str1=”jing”, str2=”wei”,str3=””;

str3 = str1 + str2;此時str3 = “jingwei”;加號實現了兩個字符串相加的運算功能。同樣是加號,既可以把兩個整型的變量加在一起,也可以把兩個字符串類型的變量加在一起。同一個操作符實現了不同的功能------這就是所謂的操作符重載(嘿嘿,我說你一定見過吧:)!不就好像是漢語中的一詞多意一樣!我需要說明一下的是,C++中的操作符重載可沒有這么簡單。比如,我們可以對兩個自定義類型的對象進行相加的運算,進行賦值的運算。這樣書寫簡潔明了,而且非常實用。當然,關于操作符重載的話題太多了,有興趣再看看書吧!我們把操作符的話題在轉到函數上來,我們一直強調的是“對象調方法”------對象其實調的是方法的“名稱”。而我們現在要對方法進想重載,也就是定義多個相同名稱的函數,這樣計算機在調用的時候不會混淆嘛?我想應該不會的,呵呵,因為僅僅是函數名稱相同,而我們在調用函數時會把參數傳遞給他的。既是沒有參數也是一種參數傳遞參數的信息(信息為無參數)!然而由于參數類型、參數數量、返回值類型不同我們就可以對相同名稱的函數進行區分了!目的只有一個,用簡便的方法實現更多的功能。還是舉個例子吧,重載構造函數!
public class employee{

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

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

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

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

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

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

}

public employee(){ //請注意這個函數沒有參數

name = “jw”;

age = 20;

sex = ’W’;

emolument = 99;

lunch = true

}

//……等等

};
看,在一個類中有兩個名稱相同的函數,可我們在使用的時候系統如何知道我們調用的是那個版本的函數呢?呵呵,我剛剛說過了,可以通過函數的參數類型、參數數量、返回值類型來確定�,F在我們接著試驗,我們創建兩個對象其中的一個調用帶參數的構造函數,第二個對象調用缺省值的構造函數。我們來看看結果:jingwei = new employee("jingwei",20,'M',100,false);/*創建這個對象的時候調用的是帶參數的構造函數*/

flashmagic = new employee();//創建這個對象是調用的是卻省值的構造函數

而得到的結果呢?讓我們一起來看一看!

Jingwei這個對象中: flashmagic這個對象中:name jingwei name jw
age 20 age 20

sex M sex W

emolument 100 emolument 99

lunch false lunch true看,雖然是兩個名稱完全相同的函數,但完成了不同的工作內容。呵呵!關于函數重載我們就料到這里吧,我相信你已經有個大印象了,而更詳細的內容仍需要你的努力!重載普通的函數與重載構造函數大同小異,不過他多了一個this指針!this一般是對當前對象的引用。這么說吧,如果涉及到兩個以上的對象時就會使用this指針。每個成員函數都有一個this指針,它是一個隱藏的參數,this指針只向調用它的對象!我說過方法只有一份,而對象都有自己的屬性,當對象調用方法來先是屬性的時候,他怎么來判斷調用的時不是自己的屬性呢?這就需要this指針來大顯神威了。關于拷貝構造函數、內聯函數、虛函數、模版等歐就不做過多的討論了,因為JAVA中好像沒有這些了。不過我需要提醒你一下的是,在C++中,類內定義的函數自動轉換為內聯函數,而這好像與我前面提到的思想有沖突。因為內聯函數的目的是減少函數調用的開銷!呵呵!我也沒繞出來呢!還請哪為大蝦指點一二!謝!


主站蜘蛛池模板: 日韩成人在线播放 | 欧美一区视频 | 一级床片40分钟免费视频 | 亚洲 欧美 另类 综合 日韩 | 亚洲光棍天堂 | 人人鲁免费播放视频人人香蕉 | 午夜免费在线观看 | 日本系列第一页 | 日本高清色本免费现在观看 | 桃色app福利| 日韩色综合| 热久久最新视频 | 午夜精品国产 | 天天干狠狠插 | 亚洲video | 在线播放亚洲视频 | 日韩a在线观看免费观看 | 日本欧美人xxxxx在线观看 | 色wwwwww| 日韩精品一区二区三区 在线观看 | 色屁屁影院免费观看入口 | 天天插天天操天天射 | 日韩精品免费在线观看 | 青青青视频在线免费观看 | 亚洲欧美人妖另类激情综合区 | 天堂资源中文在线 | 天天操天天干天天爽 | 天天干天天操天天射 | 欧美视频三级 | 日日av| 日韩欧美不卡 | 日韩欧美黄色大片 | 日韩一级淫片 | 欧美一区二区三区免费观看视频 | 三级福利片 | 亚洲第一在线 | 日本在线看小视频网址 | 亚洲免费人成 | 色综合色狠狠天天久久婷婷基地 | 青青在线视频 | 日韩在线www |