青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 195,  comments - 30,  trackbacks - 0
原文地址:http://hi.baidu.com/dingzhoufang/blog/item/1f93026d1de7c0fd431694c4.html


繼承性、封裝性和多態性是面向對象的三個核心概念,下面就來看看在
C++Java

是如何實現面向對象機制的:

一 繼承性

面向對象方法中的繼承機制使子類可以自動地擁有父類的全部屬性和操作(方法)。

1C++

派生類是C++中實現繼承性的語法概念。派生類的一般聲明語法為:

Class 派生類名 :繼承方式 基類名1,繼承方式 基類名2,…,繼承方式 基類名n

{

派生類成員聲明;

}

其中:繼承方式有public, protected, private三種,默認值為private。類的繼承方式指定了派生類成員以及類外對象對于從基類繼承來的成員的訪問權限。

C++中,一個派生類(子類)可以同時有多個直接基類(父類),即C++支持多繼承。

當然一個派生類(子類)也可以只有一個直接基類(父類),稱此種情況為單繼承。在派生的過程中,派生出來的新類也同樣可以作為基類再繼續派生新的類。一個基類可以同時派生出多個派生類,即一個類可以同時作為多個派生類的基類。

2java

java語言中,子類對父類的繼承是通過在類的聲明中,用關鍵字extends來說明的。其語法形式為:

[ClassModifier] class ClassName extends SuperClassName [implements interface]

{

子類的屬性和方法;

}

其中:關鍵字extends說明要聲明的類需要繼承父類的屬性和行為,SuperClassName是被繼承的父類的名稱。

Java 要求聲明的每個類都有父類,當沒有顯示的指定父類時,父類隱含為java.lang.Object。一個父類可以同時擁有多個子類,這是該父類實際上是所有子類的公共屬性和方法的集合,而每一個子類則是父類的特殊化,是在公共屬性的基礎上的功能(方法),內涵(屬性(變量))的擴展和延伸。

Java不支持類的多重繼承,只支持類的單繼承。即每個子類只能有一個直接父類。類的層次結構為樹狀結構,Object類為樹的根節點。

二 封裝性

封裝是指將從現實世界中抽象得到的數據成員和代碼成員相結合,形成一個有機的整體,即將數據與操作數據的行為進行有機的結合。在面向對象程序設計中,可以通過封裝,將一部分成員作為類與外部的接口,將其他的成員隱藏起來,以達到對數據訪問權限的有效控制。

(1)       C++

C++中,封裝是借助于類(Class)來實現的。對象是類類型的數據,即為類的實例。C++中聲明類的語法如下:

Class 類名稱{

Public :

        外部接口;

Protected:

保護型成員;

Private:

        私有成員;

}

(2)       java

java中,封裝也是借助于類(Class)來實現的。對象是類類型的數據,即為類的實例。java中聲明類的語法如下:

[public][abstract | final] class 類名稱 [extends 父類名稱] [implements 接口名稱列表]{

變量成員聲明及初始化;

方法聲明及方法實現(方法體);

}

其中:

Class是關鍵字,表明其后聲明的是一個類。

Class前的修飾符可以有多個,用來限定類的使用方式。Public為存取控制符,表明此類為公有類,abstract指明此類為抽象類,final指明此類為終結類。

類名稱是用戶為該類所起的名字,它應該是一個合法的標識符,并盡量遵從命名約定。

Extends是關鍵字,如果所聲明的類是從某一個父類派生而來的,那么父類的名字應寫在extends之后。

Implements是關鍵字,如果所聲明的類要實現某些接口,那么接口的名字應寫在implements之后。

類的聲明體中有兩部分,一部分是數據成員變量的聲明及初始化,可以有多個;另一部分是成員方法的聲明及實現,也可以有多個。

多態性

多態的主要意思是:“一個名字,多種語義;或相同的界面,多種實現”。多態性是一種方法,使在多個類中可以定義一個操作和屬性名,并在每一個類中有不同的實現。正式的說法就是:同一個消息被不同的對象接收時,可產生不同的動作或執行結果,即每個對象將根據自己所屬類中定義的操作執行。

(1)       C++

C++中的多態性有兩種情況:一種是編譯時多態性,它是由重載函數支持的,強調的是函數名相同,函數參數和函數體不同。函數調用與函數體的匹配在編譯時就能確定。另一種是運行時多態性,這是由虛函數支持的,它強調的是完全單一的界面,不同的實現;即函數名,返回類型,函數參數類型,順序,個數完全相同,但函數體不同。這種情況下,函數調用與函數體的匹配在運行時才能確定。

函數重載:兩個或兩個以上的函數,取相同的函數名,但是形參的個數或者類型不同,編譯器根據實參和形參的類型及個數的最佳匹配,自動確定調用哪一個函數。C++允許功能相近的函數在相同的作用域內以相同的函數名定義(不同的作用域內的同名函數不是重載,此時其生命周期就不一樣),從而形成重載。

虛函數:是使用virtual關鍵字來限定的非靜態的成員函數,虛函數經過派生之后,在類簇中就可以實現運行過程中的多態。如果需要通過基類的指針指向派生類的對象,并訪問某個與基類同名的成員(若為函數,其原型完全相同),那么首先在基類中將這個同名函數定義為虛函數。這樣,就可以通過基類類型的指針,來訪問該同名的函數,使得屬于不同派生類的不同對象產生不同的行為,從而實現運行過程的多態。虛函數定義語法如下:

Virtual 函數返回值類型    函數名稱(形參列表){

函數體(函數的實現);

}

虛函數的聲明只能出現在類聲明的函數原型聲明之前,而不能在函數體實現的時候才聲明。只要在基類中聲明,而不要在派生類中再聲明。若派生類沒有顯式的給出虛函數聲明,此時系統會自動的按照以下規則來判斷一個函數是不是虛函數:

.該函數是否與基類的虛函數有相同的名稱;

.該函數是否與基類的虛函數有相同的參數個數及相同的對應參數類型;

.該函數是否與基類的虛函數有相同的返回值或者滿足賦值兼容規則的指針,引用型的返回值。

如果從名稱,參數和返回值三方面檢查之后,派生類的函數滿足了上述條件,就被自動確定為虛函數。

運行過程中的多態需要滿足以下三個條件:①類之間應滿足賦值兼容規則(指在需要基類對象的任何地方都可以使用公有派生類的對象來代替,這種代替包括:派生類的對象可以賦值給基類的對象;派生類的對象可以初始化基類的引用;派生類對象的地址可以賦給指向基類的指針。在替代之后,派生類的對象就可以作為基類的對象來使用,但只能使用從基類繼承來的成員,即在基類出現的場合可以使用派生類進行代替,但是代替之后派生類僅僅發揮出基類的作用);②要在基類中聲明虛函數;③要由成員函數來調用或者是通過指針,引用來訪問虛函數。(如果是使用對象名來訪問虛函數,則聯編在編譯過程中就可以進行(靜態聯編),而無需在運行過程中進行)

(2)       java

java 中,利用向上塑型(type-casting)技術(類型轉換),任何一個子類的對象或引用變量都可以被塑型((自動的)類型轉換)為其父類的對象,即一個父類的對象或引用變量可以指向不同的子類對象,而利用動態綁定(dynamic Binding)技術(可以在程序運行期間判斷對象的類型,并根據其所屬的實際類型分別調用其真實類型的適當的方法,此時方法的調用與該方法的主體連接在一起(綁定binding),可以在運行時根據父類對象或引用變量所指對象的實際類型執行相應的子類中的方法,從而實現多態性。


posted on 2011-02-14 20:32 luis 閱讀(664) 評論(0)  編輯 收藏 引用
<2011年2月>
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

文章分類

文章檔案

友情鏈接

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线看视频不卡| 亚洲视频大全| 欧美激情第五页| 久久综合给合久久狠狠色| 亚洲一区二区三区四区视频| 久久久久国色av免费观看性色| 亚洲免费视频观看| 欧美精品久久久久久久| 嫩模写真一区二区三区三州| 国产在线成人| 亚洲精品字幕| 亚洲视频 欧洲视频| 欧美日韩免费| 99亚洲一区二区| 亚洲一区二区在| 欧美性久久久| 亚洲欧美变态国产另类| 销魂美女一区二区三区视频在线| 欧美日韩精品伦理作品在线免费观看| 久久看片网站| 影音欧美亚洲| 欧美va亚洲va国产综合| 亚洲欧洲精品成人久久奇米网| 欧美性大战xxxxx久久久| 一区二区三区产品免费精品久久75 | 日韩天堂在线观看| 亚洲精品一二三| 国产精品超碰97尤物18| 亚洲欧美www| 欧美国产日韩a欧美在线观看| 韩日在线一区| 欧美成人情趣视频| 一区二区三区高清在线观看| 欧美一级视频免费在线观看| 韩日在线一区| 欧美视频在线观看一区二区| 亚洲欧美日韩精品| 欧美激情片在线观看| 美女性感视频久久久| 亚洲精品无人区| 午夜久久福利| 亚洲日韩欧美视频| 国产午夜精品美女视频明星a级 | 另类尿喷潮videofree| 欧美激情视频在线免费观看 欧美视频免费一 | 国产一区二区三区的电影 | 亚洲精品乱码久久久久| 久久久久久久成人| 亚洲精品中文字幕女同| 国产日韩欧美另类| 欧美电影免费观看| 欧美在线影院在线视频| 一区二区三区四区在线| 蜜臀av一级做a爰片久久| 亚洲欧美视频在线观看| 亚洲乱码国产乱码精品精可以看 | 久久精品视频在线免费观看| 一区二区三区欧美日韩| 亚洲尤物在线| 亚洲精品中文字幕有码专区| 国内外成人免费激情在线视频| 久久久精彩视频| 亚洲一区二区免费| 久久躁狠狠躁夜夜爽| 欧美亚洲综合网| 亚洲国产美女久久久久| 精品88久久久久88久久久| 国产精品久久久久永久免费观看| 亚洲一区二区欧美日韩| 亚洲精品视频在线观看网站| 欧美激情亚洲自拍| 欧美一区二区在线免费观看| 亚洲桃花岛网站| 亚洲美女诱惑| 日韩香蕉视频| 亚洲国产精品久久久| 在线日韩精品视频| 狠狠88综合久久久久综合网| 国产一区二三区| 久久精品99国产精品酒店日本| 亚洲综合欧美日韩| 亚洲电影自拍| 亚洲电影av| 黑丝一区二区| 国产精品扒开腿爽爽爽视频| 欧美午夜不卡| 国产精品午夜春色av| 国产精品网站在线| 国产日本欧美在线观看| 韩国免费一区| 亚洲国产精品小视频| 亚洲精品视频一区二区三区| 亚洲精品少妇| 亚洲欧美三级伦理| 一区二区久久久久| 午夜精品久久久久久久久| 欧美在现视频| 久久夜色精品国产欧美乱| 亚洲国产精品va在线看黑人| 亚洲欧洲久久| 亚洲高清视频一区二区| 亚洲精品美女在线观看| 亚洲图片欧美午夜| aa级大片欧美| 久久精品卡一| 欧美国产日韩一区二区三区| 久久理论片午夜琪琪电影网| 欧美韩国日本一区| 国产欧美精品| 一卡二卡3卡四卡高清精品视频| 久久精品人人做人人爽| 在线亚洲伦理| 欧美日韩国内| 亚洲视频在线看| 亚洲精品久久视频| 欧美日本高清视频| 亚洲日韩成人| 欧美激情一区二区三区在线 | 噜噜噜在线观看免费视频日韩| 亚洲另类春色国产| 欧美二区在线观看| 亚洲国产精品久久久久久女王| 久久久久国产精品麻豆ai换脸| 亚洲特色特黄| 国产精品免费视频观看| 蜜臀va亚洲va欧美va天堂| 黑人中文字幕一区二区三区| 欧美中文字幕第一页| 亚洲午夜av电影| 国产精品v欧美精品v日韩精品| 在线一区免费观看| 一本高清dvd不卡在线观看| 欧美日韩在线第一页| 99视频一区二区| 日韩亚洲欧美在线观看| 夜夜嗨av一区二区三区四区| 老司机凹凸av亚洲导航| 久久精品成人| 亚洲国产一区二区三区a毛片 | 韩国av一区二区三区四区| 亚洲福利久久| 欧美www视频| 欧美精品一区二区三区在线播放| 国外成人在线视频| 久久伊人免费视频| 麻豆精品一区二区综合av| 亚洲国产二区| 亚洲国产精品国自产拍av秋霞 | 亚洲人成网站色ww在线| 欧美日韩亚洲一区二区| 亚洲女与黑人做爰| 久久久精品免费视频| 亚洲欧洲日产国码二区| aa国产精品| 激情成人av| 9色精品在线| 精品动漫3d一区二区三区免费| 亚洲大胆人体视频| 欧美三级电影网| 久久五月天婷婷| 欧美成人dvd在线视频| 亚洲自拍16p| 久久激情中文| 在线一区观看| 久久五月激情| 欧美一级视频| 欧美精品在线一区二区三区| 久久riav二区三区| 欧美激情综合网| 免费成人高清视频| 国产精品免费一区二区三区在线观看 | 欧美一区二区三区在| 免费观看30秒视频久久| 亚洲欧美日产图| 欧美电影在线观看| 久久久久在线观看| 国产精品video| 亚洲黄色av| 亚洲福利视频网站| 亚洲欧美自拍偷拍| 亚洲先锋成人| 欧美99久久| 久久综合福利| 国产美女一区二区| 一区二区福利| 亚洲精品一级| 玖玖玖免费嫩草在线影院一区| 亚洲欧美日韩视频二区| 欧美国产乱视频| 欧美国产第二页| 久久精品国产99国产精品澳门| 亚洲美女黄色| 久久婷婷蜜乳一本欲蜜臀| 欧美亚洲视频在线看网址| 欧美另类一区| 亚洲欧洲另类| 亚洲人成欧美中文字幕| 久久精品在线| 久久久久国色av免费看影院| 国产精品热久久久久夜色精品三区|