日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向对象之多态性(基类引用可以指向子类)

發布時間:2023/12/10 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象之多态性(基类引用可以指向子类) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、派生類的對象和基類是屬于的關系,即 對象 is a X類,對象屬于X類。

2、多態性的概念:

了解多態性之前,要熟悉引用和對象的區別:

對象存儲在堆中,引用(符)存儲在棧中,引用符的值是對象在堆中的地址,因此通過引用符可以輕松地找到對象。

一般情況下,引用符和對象屬于同一類型,基類的引用指向基類的對象,派生類的引用指向派生類的對象,但是我們知道,派生類對象也屬于基類,所以基類引用符可以指向派生類對象。

? 一個基類的引用符,可以指向多種派生類對象,具有多種不同的形態,這種現象叫多態性。這種方式經常用作設計模式中的工廠模式。

3、接口

接口實際上就是一個類,只是這個類只聲明成員,而不具體實現。故不能創建接口的實例,繼承自接口的類必須實現接口的所有方法。接口也能很好的體現多態性,當函數中參數類型為基接口時,則不管是什么類,只要這個類繼承于基接口,均可以根據實例化情況來調用。

4、接口、抽象類的相似之處和不同:

接口和抽象類均不能實例化,而且要求派生類實現其抽象方法,但不是必須全部實現。

但抽象類有更多的功能:可以由子類繼承,而且可以包括狀態數據和具體方法。

5、接口和類的區別:

接口不能從類繼承,而類可以實現接口(繼承接口);

接口可以繼承多個接口,而類雖然可以繼承多個接口,卻只能繼承一個類。

接口成員必須是方法、成員屬性、事件或索引器。(注意無數據成員)

所有接口成員必須能公開訪問。

6、用類?用接口?

當決定使用類還是接口類型,即查看類型與繼承子類之間的關系。接口為類定義一種行為,即它“能做什么”,它允許對象創建自身的副本。另一方面,當繼承子類“一種”基類時,就應該使用類。例如:可以創建shape(形狀)作為基類,創建circle(圓)作為shape的子類,而將改變形狀大小的功能作為一個接口方法。

轉載于:https://www.cnblogs.com/dongzhiquan/archive/2011/11/05/2237159.html

總結

以上是生活随笔為你收集整理的面向对象之多态性(基类引用可以指向子类)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。