面向對象的三大特性是什么?
來源傳智教育2022年06月01日 14時55分51秒
1.封裝性
面向對象的核心思想就是封裝,這里的封裝含義有兩層:第一層含義是把對象的行為和屬性視為一個不可分割的整體,將屬性和行為“封裝”起來(即封裝在對象中);第二層含義是把信息隱藏起來,也就是將不想讓外界知道的信息隱藏。打個比方,我們是用自動洗碗機洗碗,只需要知道這么去操作洗碗機,而不用知道洗碗機的內部是怎么工作的。
2.繼承性
類與類之間的關系,我們叫做繼承,也就是說我們可以直接在原有類的功能上進行擴展,不用再重新編寫一個新類。繼承使得開發(fā)效率變高,也增強了代碼的復用性,減少程序出錯的可能,后期的維護和擴展十分方便。比方說一個烤箱類,這個類為我們描述了烤箱的普通特性和功能,進一步再生產多功能烤箱類,而多功能烤箱類中不僅應該包含烤箱類的功能與特性,還應該增加多功能烤箱類的特有功能,這個時候我們可以讓多功能烤箱類繼承烤箱類,在多功能烤箱類中單獨添加特性和方法就可以了。
3.多態(tài)性
多態(tài)性意思就是一個類中定義的屬性和方法被其他類繼承后,它們可以表現出不同的行為或者擁有差異化的數據類型,如此一來即便是同一個屬性和方法,在不同的類中也會具有不同的語義。舉例,當演員和理發(fā)師都聽到cut這個詞的時候,演員的行為是停止表演,而理發(fā)師是剪發(fā),這就是不同的對象存在差異化的表現行為。多態(tài)性使程序更加便捷和抽象,在開發(fā)人員分組協(xié)同開發(fā)設計程序時非常有利。
最新問答
- 2022年06月30日黑盒測試與白盒測試的區(qū)別是啥?
- 2022年06月30日Hive的安裝模式有幾種?
- 2022年06月29日Flume系統(tǒng)要求是什么?
- 2022年06月29日數據發(fā)布與訂閱有哪些主要應用場景?
- 2022年06月29日Zookeeper集群角色有哪三種?
- 2022年06月29日hadoop1.x和hadoop2.x的區(qū)別是什么,做了哪些改進?
- 2022年06月28日znode有哪兩種節(jié)點?
- 2022年06月28日非全新集群選舉的過程是什么樣的?
- 2022年06月28日applicationmaster是什么?
- 2022年06月28日yarn的工作流程是什么?
相關問答
- 2022年06月24日同步方法中存在鎖嗎?
- 2022年06月02日本科計算機專業(yè)畢業(yè),想在廣州參加Java培訓,有什么需要注意的嗎?
- 2022年06月02日廣州java培訓價格大概多少?
- 2022年06月02日在廣州想報名一家Java培訓機構,怎么選擇?
- 2022年06月01日error類和exception類有什么區(qū)別?
- 2022年06月01日Java中的繼承概念是什么?
- 2022年06月01日java中類與對象的關系是什么
- 2022年05月31日java的數組排序方法是什么?
- 2022年05月24日Java中二進制轉十進制的方法是什么?
- 2022年05月24日零基礎想學Java很難嗎?