編程抽象
❶ 抽象編程的介紹
抽象編程是通過抽象的方法來減少編程工作量或有效地減輕編程難度稱為抽象編程將問題通過功能分解,各個擊破的編程方法(過程化編程) 是一種以行為抽象為主的抽象編程將問題通過實體分析,分層分類地實現抽象數據類型,從而進行簡單應用編程(基於對象編程)是一種以數據抽象為主的抽象編程這種抽象編程,通過數據類型復用,方便編程,方便維護和擴展,其效果比過程化編程更好編程語言中沒有許多具體的數據類型要解決實際問題,很大部分工作是要建立數據模式與實際問題的對應,也就是建立抽象數據類型的過程對象化編程就是基於分層分類的抽象數據類型之具體編程,它能更好地實現數據結構和演算法,便是將N.Wirth的程序公式:程序=演算法+數據結構具體化為:程序=演算法+抽象數據類型
❷ 在面對對象編程中抽象類的特點什麼
抽象類的特點:
1、抽象類的方法可以是抽象的,也可以是不抽象的。
2、抽象類的方法可以全是抽象的,也可以全是不抽象的。
3、有抽象方法的類必須是抽象類,或者是介面(但是介面的方法定義必須是public static abstract 修飾)。
4、子類繼承抽象類,必須實現抽象類的所有抽象方法。
5、抽象類不能被實例化,沒有構造函數。
6、子類中的抽象方法不能與父類的抽象方法同名。
7、抽象類的默認屬性修飾符是public abstract。
8、抽象類的屬性不能定義成靜態的。
9、如果抽象類的抽象方法不被重寫,那麼子類也必須是抽象類。
❸ 編程好學嗎
這個不太好學,需要一定的天賦,編程本身就比較抽象,所以說如果思維跟不上的話,學習編程肯定有難度,因為有些地方確實不太好理解
但是話又說回來,勤能補拙是良訓,一份辛苦一份才,下功夫,是沒有問題的,打好基礎是關鍵,然後跟著做一些項目很關鍵
總的來說,對編程有以下三個建議
第一,明白程序的流程,知道運行的順序是怎樣的
第二,搞清楚每一條語句的功能,也就是說知道語句具體是實現怎樣的功能
第三,在閱讀程序的時候,要敢於嘗試,即,用一些實例代入驗證
以上三個步驟對你學習編程是很有幫助的,加油
❹ 編程中如何將抽象的演算法形象化
課本上有個例子的。你按照他的流程走一遍你就懂了。有的演算法過程並不復雜,只是判斷條件變得復雜了一些。
演算法分析中的每一個步驟,都可以對應地轉換成C語言程序中的某一行或者幾行代碼,我們編寫C語言程序代碼的過程,實際上就是用C語言這種編程語言來表達演算法步驟的過程。我們就像一位翻譯官一樣,將計算機看不懂的,用自然語言表達的演算法步驟,翻譯為計算機看得懂的,用編程語言(例如,C語言,也可以是其他編程語言)表達的,並可以被編譯執行的源程序代碼。
❺ (徒手、硬體)編程抽象、理性知識大全(用永不改變的簡體中文傻瓜語言、直觀內容講解、解說、描述、說明)
(徒手、硬體)編程抽象、理性知識大全(用永不改變的簡體中文傻瓜語言、直觀內容講解、解說、描述、說明)
❻ 什麼是抽象編程
顧名思義抽象編程是指在編程的過程中把大象抽出來。
如何在編程的過程中把大象抽出並保持程序的可移植性,這個一直以來是一個困擾全世界各類語言編程的程序員的一個難題。
最早提出抽象這個概念的是
達芬奇
在他的名畫中有著抽象的充分演示。
如果在一個項目中做到抽象編程的話,無疑是完美的。那麼在編譯型的語言中如果做到呢?
首先搭建環境,這個問題怎麼說呢?真是個見仁見智的。
在C語言中和在java又或者在Python中如何搭建這個抽象的環境。
由於筆者最近熱衷於Python的開發。首先談談在Python中如何做到把大象抽出來的同時保證程序的完美的可移植性。
第一
建立一個抽象類庫。
打開IDLE,引入抽象的概念。
第二
告訴大象我們即將把你抽出來。這個對於大象來說是很不公平的,它肯定的回答NO
那麼我們是不是就不能把大象抽出來了呢?當然可以。大象是很笨的,我們可以先構造一個函數。內容包括香蕉芒果等大象愛吃的食物,先把大象「騙」出來。當然這個也是很有技巧的。騙出來以後大象暫時存在什麼地方呢?眾所周知Python講究效率、快捷的開發注重的是解決問題。那麼,我們到哪裡去找個那麼大的空間把大象存進去呢?答案當然是動物園啦。首先與管理員協調暫存事宜。待需要的時候在把大象引入回來。
第三
大象的引入問題
這個時候相信大家對把大象存在什麼位置已經有了個初步的了解,但是如果管理員很熱愛大象的話,給大象提供的伙食比我們先前的要好。那麼這個時候引入無疑會增加成本。必須提供更好的伙食條件大象才有可能原因再次回來我們預先的架構中繼續工作。那麼在作者的BLOG中有著一套比較完整的解決方案。下面的參考地址會給出作者的Blog地址。請大家爭相傳閱。
總結:抽象編程的原理大家都清楚了。需要解決的主要問題就是把大象抽出後的再次引用問題。這個也是本文的難點。希望對大家有所幫助。
❼ java 抽象怎麼理解
抽象是一種面向對象的編程實踐的核心原則, Java具有所有OOPs原則,抽象是一個Java語言的主要構建塊。
數據抽象的跨度從創建簡單的數據對象集合的實現復雜如HashMap或HashSet。
控制抽象是結構化編程背後主要驅動力。
❽ 抽象編程的編程質量
(Programming Quality ) 通過使用更好的編程方法可以從本質上改進可讀性通過使用定義良好的演算法和語句控制結構,可以局部改進演算法的可理解性通過學習和使用優秀程序員的編碼習慣,採用一貫的編碼風格,可以增強可讀性。
注意:
高級程序員與初學者對可讀性的把握分寸是不同的易編程性:
只是對採用好的編程方法或更高級語言而言,抽象程度越大,越易編程對象化編程在抽象數據類型的創建上做了大量的工作,因而贏得了應用程序編寫的方便與快捷比如數組,無法整體復制,無法擴容,但是向量則可以。 編程在演算法設計上是挖空心思的勞動過程,而在運用語言對之描述上應該瀟灑自在:容易表達,不容易出錯,運行上更安全。
好的編程方法能夠幫助程序員實現瀟灑編程抽象數據類型中可以將大量安全代碼嵌入其中,從而使應用編程瀟灑自在實現抽象數據類型的過程本身也是使用其他抽象數據類型的應用編程,同樣也充滿著瀟灑與自在
void f(char* s)
{
string s1,s2=s; //第一種
s1=s;
char* st=new char[strlen(s)+1]; //第二種
strcpy(st,s); char a[40]; //第三種
strncpy(a,s,sizeof(a));
a[sizeof(a)-1]=『 』;
} 指局部修改不影響系統全局的總體性能,而系統產生的問題通常可以通過局部維護(修改或更換部件) 來解決。
模塊化編程使程序可拆裝,可局部修改,而不影響整體性能與工作,因而可維護性強,過程化編程是將過程模塊化,具有一定的可維護性;
對象化編程是將數據類型也模塊化,從而導致更方便的維護性能可擴充性:指系統擴展時,只增加擴展代碼,而對原系統的正常運作只作很少的修改甚至不修改功能擴展的影響:
過程化編程,會涉及多處擴展代碼與原系統不和諧所帶來的修改對象化編程,如果是抽象數據類型的功能擴展,則不會影響原系統的正常運行,而只是支持應用程序中增加的一些擴展代碼而已;
如果是應用程序功能擴展,那是使用抽象數據類型的抽象代碼擴展,其修改量比之低級代碼要少效率
❾ 學習編程很抽象嗎
不抽象,勤加練習,多做幾個項目,就可以了,編程就是要心細,不抽象的,我本身就是編程的,只是要很細心,把框架、等等其他的前期工作做好就可以了
❿ 怎麼提高自己編程的抽象能力 0qiance
我有幾個建議:
1.扎實的學好基礎課程,基礎越牢固越好。在以後的能力提高中你能感覺出它的好處的
2.多讀別人的代碼,讀完後思考你是否能寫出比它更精練更有效率的程序,最好立即用你的方法實踐一遍
3.最重要的還是多實踐,有思想的實踐。不管聽到見到什麼你都要想如果用程序實現應該怎麼做,將一切程序化進行~~可能這么說有點走火入魔了