物件導向的思想

2021-10-02 18:39:13 字數 941 閱讀 6312

如果ob1.equals(ob2)=true,則兩者的hashcode一定相等,但是反過來卻不成立。

介面的概念:從使用者(使用實現**)的角度來看,讓使用者不知道內部,也無需關心內部組成,只是留出乙個介面,讓使用者去使用就行;強調合約,強調協作雙方無法犯錯。

介面與類相比:由編譯器強制的乙個模組間協作的合約,無成員變數,成員函式只能申明不能有實現。

介面與抽象類的區別

從實現角度:抽象類可以有成員變數,抽象類可以有部分實現,抽象類不可以多重繼承,但是介面可以多重實現

實現interator介面才能用增強for迴圈 ,需要實現next()和hasnext()方法(這兩個方法用乙個新類寫,這個新類也要實現iterator介面),還有iterator()方法 也需要重寫

派生類中盡量不要修改繼承方法的封裝性 。理論上private–》public可行,但是public–〉private不可行。但是都最好不要改

不可變物件(immutable objects):可以飲用傳遞,可以快取,執行緒安全。設法保持系統的物件變為不可變。

final關鍵字:

類宣告:類不可以被繼承

函式申明:函式不可以在派生類中重寫;

變數申明:變數不可以指向其他物件;但是被指向物件的值可以改變。(但是如果該物件指向的是基本型別,這個基本型別也不能被改變)

如果實現不可變性:

泛型是為了解決乙個類中傳入不同型別引數的問題,實現一類多用,泛型只是為了給編譯器看,過了編譯器,執行時這些會自動被刪除,直接由編譯器來保證。

-派生關係:arraylist 是 list;

-list 不是list,這個是反直觀的,比如說從乙個list取出第乙個元素,這個元素是object,但是不能保證它一定是integer。

-把list 轉換成list?

new arraylist(intlist)

c++的虛函式表

物件導向的思想

物件導向的好處 1.物件導向是一種更符合人們思考習慣的一種思想 2.面向過程的更多體現是執行者 物件導向更多體現的是指揮者 3.有了物件導向這個事情後 複雜問題就簡單化了 大西瓜如何用挖掘機炒菜?幾個事物 2事物 大西瓜 name age 屬性 行為 會開挖掘機 挖掘機 color lunzi 翻炒...

物件導向的思想

1 什麼是物件導向的思想 c語言是面向過程的語言,c 是c語言的拓展,c 是物件導向的語言,而 物件導向是一種思想 即oop思想。如下圖所示,實體 就 是客觀存在並可相互區別的事物 例如人 書本 動物等。人作為實體,具有姓名 性別 年齡等這些屬性以及吃飯 睡覺等行為。類 是對現實生活中一類具有共同特...

物件導向的思想

物件導向是一種思想,是基於面向過程而言的,就是說物件導向是將功能等通過物件來實現,將功能封裝進物件之中,讓物件去實現具體的細節 這種思想是將資料作為第一位,而方法或者說是演算法作為其次,這是對資料一種優化,操作起來更加的方便,簡化了過程。物件導向有三大特徵 封裝性 繼承性 多型性,其中封裝性指的是隱...