還不知道怎麼重構嗎?

2021-10-10 08:28:03 字數 1771 閱讀 7026

• 為什麼重構,重構的是什麼,什麼時候重構,怎樣重構

• 重構:大規模重構,小規模重構

• 通過單元測試保證重構的質量

根據上面的**需要滿足以下語法機制

• 父類物件可以引用子類物件

dynamicarray dynamicarray = new sorteddynamicarray();

• 程式語言中可以使用繼承,子類繼承父類

public class sorteddynamicarray extends dynamicarray

只要這樣才可以讓 sorteddynamicarray 傳遞給 dynamicarray

dynamicarray dynamicarray = new sorteddynamicarray();

test(dynamicarray); // 列印結果:1、3、5

public static void test(dynamicarray dynamicarray) 

}

• 子類可以重寫父類方法 sorteddynamicarray 重寫 dynamicarray 方法

public class sorteddynamicarray extends dynamicarray  else 

}elements[i+1] = e;

++size;}}

• 基本區別:**組織的方式不同,面向過程中方法和資料結構是分開的。物件導向的**被組織成一組類,方法和資料結構被繫結在一起,定義在類中。

• oop 面對複雜的業務邏輯則凸顯出優勢,1 把需求翻譯為類 2 類之間建立互動關係 3 按照流程組裝類。

• oop 具有四大特性,封裝 抽象 繼承 多型

• oop 更加人性化

• 濫用 get 和 set 方法

• 對公共類沒有做到單一職責原則

• 貧窮模式開發:指開發模式是面向過程開發,例如 mvc

abstract 修飾;不允許例項化,只能被繼承;可以有方法體和屬性;子類繼承父類必須實現父類中的抽象方法 抽象類表示 is-a 關係

public class messagequeuelogger extends logger

(logger logger = new logger(…); 會報編譯錯誤

protected abstract void dolog(level level, string message);

@override

public void dolog(level level, string mesage) 

• 介面裡面不能有屬性和方法體

• 類實現介面,必須實現介面中的方法體

• 介面是 has -a 關係

• 因為抽象類可以繼承,所以擁有**復用的特性,當然不止有這個好處,否則我們直接繼承類就可以。另乙個好處就是實現多型的特性

當下面**呼叫的時候會報錯,是因為 logger 父類中沒有 log()方法

• is-a 關係

• 解決抽象問題

• has-a 關係

基於介面而非實現程式設計,這句話可以理解為基於抽象而非實現程式設計。

• 函式命名不能保留任何實現細節

• 為實現類定義抽象介面。介面的定義只表明做什麼,而不是怎麼做。並且要思考是否通用,當新新增新的實現不會修改介面

• 介面和實現相分離,封裝不穩定的實現,暴露穩定的介面

你還不知道大資料?

背景 12月份有的同學參加了新工聯盟一級的測評考試,一級的內容主要是包括一些計算機基礎 大資料基本知識 資料操作和處理 資料分析方法和資料視覺化方法,今天就簡單分享其中一部分內容 持續更新 一 大資料定義 定義 對於 大資料 big data 研究機構gartner給出了這樣的定義。它是需要新處理模...

被騙了,自己還不知道

2014年實習去了深圳,實習三個月結束從電子廠出來。在龍華清湖地鐵站附近的小區住,看到乙個做金絲彩沙畫的店子,做一副畫好像能賺幾百,反正當時就信了。交了200押金,說是材料學習什麼的費用,做完6副成品就退押金。店名叫什麼忘記了。學了大概兩天,就在店裡學,學完第三天就拿了一副畫回家做,要交相應材料的押...

不知道不知道

函式分析 希爾伯特 哥德爾不完備定理 哥德爾不完全性定理一舉粉碎了數學家兩千年來的信念。他告訴我們,真與可證是兩個概念。可證的一定是真的,但真的不一定可證。某種意義上,悖論的陰影將永遠伴隨著我們。無怪乎大數學家外爾發出這樣的感嘆 上帝是存在的,因為數學無疑是相容的 魔鬼也是存在的,因為我們不能證明這...