前面我們學習了編程的入門課程,了解的程式語言的基本語法,知道程式語言的基本要素。
今天開始福哥開始給大家講編程的基礎知識,這個基礎知識是用來提高編程水平的知識,基礎知識每種程式語言的差異會比較大,所以福哥在講解某一種程式語言的某一特性的時候,會標明這種特性針對的是哪一種程式語言,只想學習某一種程式語言的童鞋可以有選擇的學習。
第一課是公共知識,所以就沒有標明是哪一種程式語言,這一課講的主題是結構(Struct),這是一個輕鬆的話題,了解結構可以幫助我們樹立一個框架性的概念,對編寫各種級別的項目會有一個基本概念。
2. 結構層級結構層級指的是在編程領域,小到一個函數,大到一個解決方案,它們之間都是存在這一系列層級關係的,從大到小的順序是:
解決方案(Solution),針對一個大的需求給出的一整套解決方案,它可能是一個或多個項目工程組成
項目工程(Project),針對一個特定的領域的一個獨立的程序或庫,它可能是一個或多個模塊組成
模塊(Module),針對一個具體的解決一個特定功能的需求的對象模型,它可能是一個或多個對象組成
對象(Class),針對一個具體的實體對象的定義,它包含這個實體對象的屬性組和方法組
函數(Function),針對一個具體的行為的定義,它是實現這個行為得到具體邏輯
3. 數據結構數據結構指的是包含若干屬性的一個 獨立的數據模型,在c語言裡可以使用struct定義數據結構,在c++語言裡可以使用class定義數據結構,在java語言裡也是使用class定義數據結構,在php語言裡除了可以使用class定義數據結構外,還可以使用php獨有的array來定義數據結構。
3.1 數據結構和變量數據結構是一組變量的集合體,數據結構的實例可以作為普通變量傳遞給函數使用,數據結構比較變量的優勢有很多,諸如:
3.2 數據結構和對象數據結構在沒有對象的c語言是用struct定義的,在c++和java、php等支持對象的語言裡和普通對象的區別就只有一條,就是作為數據結構的對象是沒有任何方法定義的,它只作為一組屬性的集合體存在。
4. 實體對象實體對象(Entity)是設計模式裡的一個概念,這種設計模式倡導的是所有需要存儲的數據都要歸類到一個實體對象裡,存儲數據的只能是實體對象,讀取數據也只能從實體對象的屬性裡獲取,這是OOP編程思想的思維,是比較先進的設計思想。
4.1 c/c++示例在c/c++裡,大家更加習慣使用struct這種數據結構語法定義實體對象
typedef struct T_TFUser { int userId; string userName;};在c/c++裡的struct就是一個類型,我們可以通過這個struct聲明變量
4.2 java示例在java裡,實體對象會被放入entity包下面,並且使用setter/getter為實體對象增加讀寫能力
@Datapublic class TFUser { private Integer userId; private String userName;}在java裡的entity就是一個class,我們可以通過這個class聲明變量
4.3 php示例在php裡,實體對象就是php的數組
$TFUser = array( 'userId'=>35, 'userName'=>"福哥");4.4 python示例在python裡,實體對象就是dict(字典)
TFUser = { "userId":35, "userName":"福哥"}4.5 javascript示例在javascript裡,實體對象就是object對象
var TFUser = { userId: 0, userName: "福哥"};5. 總結了解了結構層級,就知道一個網站,一個軟體背後有多少代碼了,就可以大概估算出一個需求的工作量了,培養這個經驗對於評估項目複雜度,評估項目周期,是非常有幫助的。
理解數據結構的意義,熟練使用實體對象,有助於幫助我們設計我們的程序代碼結構,在功能不斷更新迭代當中也不會變得混亂不堪。
免費看文章,自己學技術
每一篇文章都是福哥一個字一個字地敲出來的,都是福哥原創的。
每一篇文章都是經過了福哥的反覆驗證的,都是可以正常使用的。