物件導向就該這麼學 chasing

2021-08-29 04:05:24 字數 1393 閱讀 6652

什麼是物件導向(含義)?

物件導向是一種程式設計思想,在使用物件時,只關注物件提供的功能,不關注內部細節。
物件導向和面向過程的區別?
物件導向:體現生活邏輯;

面向 過程:體現數學邏輯;

建構函式
建構函式 ,是一種特殊的方法;

主要用來在建立物件時初始化物件, 即為物件成員變數賦初始值;

總與new運算子一起使用在建立物件的語句中,特別的乙個類可以有多個建構函式 ;

(可根據其引數個數的不同或引數型別的不同來區分它們 即建構函式的過載)。

原型(prototype) —> 是乙個指標(存放位址的變數)
定義:每乙個函式都有乙個prototype屬性即原型,只不過普通函式研究原型沒有意義,原型只針對建構函式而言。

優點:(1)- prototype中的屬性和方法在例項化的時候是通過引用的方法來呼叫的;

(2)- 因此所有的方法都不會被重複建立;

(3)- 可以共享乙個位址。

缺點:(1)- 無法傳參;

(2)- 建立的所有例項都是乙個屬性值。

原型鏈是什麼鬼?
查詢某個物件的屬性和方法時,首先會在它本身上(建構函式的例項屬性和例項方法)查詢,

如果有,則立即返回,如果沒有,則通過該物件的__proto__屬性指向建構函式的prototype(原型)裡查詢,

若有返回,若沒有,對於建構函式的prototype屬性而言,它的本質是乙個物件即有__proto__屬性,

那麼它會指向該原型物件的建構函式的原型一層一層往上找,直到找到object.prototype,

如果有,返回,如果沒有,則返回undefined,

這樣通過原型關係查詢物件屬性或者方法的過程叫做原型鏈。

new關鍵字呼叫建構函式做了哪些操作?
(1)- 在建構函式內部宣告了乙個物件叫this;

(2)- 隱式返回this指向;

(3)- this指向的是建立出來的那個例項物件;

(4)- 讓例項的_ _proto_ _屬性這個隱式原型指標指向該例項建構函式的原型。

為什麼建構函式寫屬性,原型寫方法 ?
建構函式寫屬性,可以傳引數;

原型(是乙個物件)寫方法,可以共享乙個位址;

為什麼指向同乙個記憶體?
方法是寫在了建構函式的原型裡,每次呼叫的時候都是訪問的同乙個建構函式
物件導向如何實現繼承

繼承原型屬性和原型方法:建立乙個空殼函式;

用父類的原型去初始化空殼函式的原型;

空殼函式的例項初始化子類的原型;

子類上有預設的constructor屬性會被覆蓋掉;

需要重新給子類賦值constructor屬性.

《Linux就該這麼學》

本書是由全國多名紅帽架構師 rhca 基於最新linux系統共同編寫的高質量linux技術自學教程,極其適合用於linux技術入門教程或講課輔助教材,目前是國內最值得去讀的linux教材,也是最有價值的linux實驗手冊。章節包括有 第0章 咱們先來談談學習方法和紅帽系統。第1章 部署虛擬環境安裝l...

Linux就該這麼學

用於集中儲存linux使用者的資料資訊,如賬號密碼 使用者組 hosts檔案 services等等 etc passwd 提供使用者帳號 uid gid 家目錄所在 shell 等等 etc group 提供群組資料以及 gid 的對應,還有該群組的加入人員 etc hosts 主機名稱與ip的對應...

tensorflow就該這麼學 3

一 張量及操作 1 張量介紹 1 tensor型別 dt float dt double dt int64 dt int32 dt int16 dt int8 dt string dt bool 2 rank 階 維度 a 1,2,3 4,5,6 7,8,9 表示為2階,看幾層中括號就行 3 sha...