模仿提公升抽象高階

2021-04-22 12:21:22 字數 756 閱讀 5793

今天在csdn某人的部落格中看到一篇技術老手反思十年總結的兩點:

第一點是:不斷抽象已知的東西。現實生活總是包括很多零散的東西,待解決的問題不會只有一面,所以抽取零散東西的共同屬性,聚合不同角度的同一面向,成為從問題領域進入程式設計領域的第一步。抽象的層次越高,你架構設計就越簡單。

(在物件導向的程式設計中很重要的一種能力就是抽象,抽象是從眾多的事物中抽取出共同的、本質性的特徵,而捨棄其非本質的特徵。要抽象,就必須進行比較,沒有比較就無法找到共同的部分,也就是他說的聚合不同角度的同一面向,抽取零散東西的共同屬性吧)

第二點是:面對未知的東西用已有的抽象經驗來模擬體驗,從而不斷調整直至達到可以控制未知東西的程度。有了上面第一點的基礎,才可能到達這第二點的境界。現實問題總是不斷變化著的推陳出新的,從未知到半知到已知,是人認識客觀世界的乙個過程,恰如人生從天真到懵懂到成熟的過程。

(呵呵,第二點夠抽象的,不好理解,大概說無法抽象時就用已有抽象經驗來模擬這個未知東西可能具有什麼屬性吧)

另外就是這篇文章中談到這個老手對新手如何達到能高度抽象問題的境界的一些建議,那就是專心模仿。比如利用框架快速開發時的模仿,「但何謂專心的模仿?就是說你在工作之餘,需要來研究這些框架,你可以不用這些框架,而是用最原始的方式來寫,你會慢慢體會到框架的約束,進而有對框架進行改進的慾望。但是最終你也會發現:其實任何乙個框架都比你自己寫的要好。然而在你不斷模仿的同時你就得到不斷的提高。」另外我們新手不能浮躁,紮實的基礎決定了以後能達到的高度,要冷清地去分析認識問題,從現實問題轉化為程式設計問題的步驟一般是「認識問題,抽象問題,進行設計編碼最終解決問題」。

物件導向高階特性之 抽象基類

import abc class human metaclass abc.abcmeta 基類,定義乙個抽象類 abc.abstractmethod defintroduce self print introduce.abc.abstractmethod defhello self print he...

物件導向 高階

json方式的物件導向 json 把方法包在json裡 json物件導向 有人管他叫 命名空間 在公司裡 把同一類 的方法包在一起 拖拽和繼承 物件導向的拖拽 改寫原有的拖拽 繼承 asdf 拖拽 instanceof 檢視物件是某個類的例項 使用繼承 限制範圍的拖拽類 建構函式的偽裝 屬性的繼承 ...

物件導向高階

public class person public void print public class student extends person 重寫了父類方法 public void print public class demo public class demo 1.不能new這個類,只能靠...