物件導向的理解,答案整理

2021-09-24 05:01:56 字數 1349 閱讀 9341

說道物件導向,首先想到的就是物件導向的三大特徵:(封裝、繼承、多型)

我們想簡單說一下這三個的含義:

1.封裝

這是物件導向最核心的特徵。每個物件包含所能操作的所有資訊,通過例項化類來生成物件。封裝就像建房子,類就是房子,屬性是門窗,欄位是房子裡的東西,方法是人的行為。屬性對字段有保護作用,防止欄位被隨意的修改或讀取

好處:1.能減少耦合;2.類內部的實現可以自由修改;3.類有清晰的對外介面

2.繼承

表示一種「is-a」的關係,子類可以繼承父類的所有特性,也可以自定義自己的特性

1.子類可以繼承父類除private外的所有特性

2.子類可以重寫父類的特性

3.子類可以拓展父類沒有的屬性和方法

缺點:子類和父類具有強耦合性

「is-a」關係就是繼承關係,例如類中的父與子繼承,「has-a」是一種子和關係,例如輪胎和汽車

3.多型

多型表示不同的物件可以執行相同的動作,但是要通過他們自己的方式來實現。例如貓叫,狗叫都是動物叫,但是實現的方式不同。

1.子類可以以父類的身份出現(使用父類的地方也可以用子類來代替)

2.子類在工作時以自己的方式來實現

3.子類以父類的身份出現時,獨有的屬性和方法不同使用

多型的使用方式:以父類來宣告,以子類的方式來例項化。比如在呼叫「動物叫」方法的地方,都可以替換成」貓叫「或」狗叫「,即不同的物件執行相同的動作

物件導向舉例理解

人.吃飯(),這是物件導向

張嘴->往嘴裡放東西->咀嚼->吞下去,這是面向過程

第一種注重的是「人」這個物件,第二種注重的是」吃「這個過程。 但實際上"人.吃飯()"這個方法底層也是靠「吃」這個過程實現的。

物件導向是將現實中的事物物件化,比如人是乙個物件,狗是乙個物件,假如人牽著狗散步是一段程式,那麼執行人牽著狗的內部卻是順序執行。順序執行通俗的說就是面向過程,其實物件導向之中是包含面向過程的思想。但是假如是面向過程來實現人牽著狗散步。就必須先先建立人和狗。但是建立人和狗會順序建立,並不會提取他們的特性物件化。所以說他的重用性很低。如果我在執行一段人牽著狗,假如這只狗不是上面那個狗,比如,上面是貴賓犬,這個是阿拉加斯。那麼因為我不是物件導向程式設計,並沒有提取狗的特性,那麼在執行這個人牽著狗,就得重新在這一遍然後順序執行。

物件導向整理

傳統的面向過程 將要完成的工作分作若干步驟,或在細分為子步驟,然後按步驟從前往後一步一步完成,然後達到目的,好比做飯,洗菜,切菜,下鍋等等每一步都是自己完成最終做成。現代的物件導向 將要完成的工作拆分為乙個乙個物件的任務,每個物件獨立完成自己的任務,任務之間的連線通過呼叫來實現,最終也完成了整體的工...

物件導向的理解

今天發現一本好書,設計模式精解,作者是alan shalloway和james r.trott,薄薄的一本,但是講的很清楚,也讓我對物件導向和設計模式有了多一點的理解。記得去三星實習生面試的時候面試過就問過乙個問題,談談對物件導向的理解,我當時就只說了乙個多型,而且感覺沒有條理,所以今天趁著看過書,...

物件導向的理解

1.物件導向的思想 誰擁有資料,誰就提供運算元據的方面。eg1 售票員統計票上的資料這個過程中統計方法是票據提供的。eg2 兩塊石頭磨成一塊石刀,石刀砍樹,砍成木材,木材又變成椅子 eg3.乙個小球從繩子一端移到至另一端。就第二個例子而言,石頭變成石刀,這個變成的方法不應該是石頭提供的,因為一般沒有...