1. 程式人生 > >面試總結之談談你對面向對象的理解

面試總結之談談你對面向對象的理解

基於 重用 理解 一個個 weixin 好的 設計模式 sdn 實例

對面向對象的理解

在我理解,面向對象是向現實世界模型的自然延伸,這是一種“萬物皆對象”的編程思想。在現實生活中的任何物體都可以歸為一類事物,而每一個個體都是一類事物的實例。面向對象的編程是以對象為中心,以消息為驅動,所以程序=對象+消息。

面向對象有三大特性,封裝、繼承和多態。

封裝就是將一類事物的屬性和行為抽象成一個類,使其屬性私有化,行為公開化,提高了數據的隱秘性的同時,使代碼模塊化。這樣做使得代碼的復用性更高。

繼承則是進一步將一類事物共有的屬性和行為抽象成一個父類,而每一個子類是一個特殊的父類--有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴展了已存在的代碼塊,進一步提高了代碼的復用性。

如果說封裝和繼承是為了使代碼重用,那麽多態則是為了實現接口重用。多態的一大作用就是為了解耦--為了解除父子類繼承的耦合度。如果說繼承中父子類的關系式IS-A的關系,那麽接口和實現類之之間的關系式HAS-A。簡單來說,多態就是允許父類引用(或接口)指向子類(或實現類)對象。很多的設計模式都是基於面向對象的多態性設計的。

總結一下,如果說封裝和繼承是面向對象的基礎,那麽多態則是面向對象最精髓的理論。掌握多態必先了解接口,只有充分理解接口才能更好的應用多態。
---------------------
作者:samhan0616
來源:CSDN
原文:https://blog.csdn.net/weixin_40066829/article/details/78111476

版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

面試總結之談談你對面向對象的理解