跳到主要內容

Java-物件導向介紹(1)




來介紹物件導向觀念,以Java程式語言為基礎來介紹,大部分是以觀念為主,
只要想成任何東西都是一個物件,物件就會有它的外觀跟功能去使用,
例如電視,電視的外觀、品牌、大小、顯示器等等,有不同的屬性去呈現這個物件,
而電視的功能就是撥放影片等等,讓使用者去使用。以下介紹OOP觀念。

物件導向程式設計(Object-oriented programming, OOP)

()OOP係以結構化程式設計為基礎,並對它加以改進。它使用封裝(encapsulation)的概念將資料與程式碼作為一個模組。構成的一個模組稱為物件、類別。
以類別為基礎,透過分門別類的觀念,也就是說OOP裡是使用繼承方式來更進一步地將上層類別的資料與程式碼交由下面類別來分享。

以類別為基礎的物件導向程式設計的思維涉及三大原則:
封裝(encapsulation)繼承(inherit)多型(polymorphism)。(後續會說明)


維基百科:
  物件導向程式設計(Object-oriented programmingOOP)是種具有物件概念的程式,也是一種程式開發的方法。它包含資料、屬性、程式碼與方法。物件則指的是類別的實體概念。    
  OOP將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性、靈活性和擴充功能性。物件導向程式設計具有靈活性和可維護性,且在大型專案設計中廣為應用。它能夠讓人們更簡單地設計並維護程式,使得程式更加便於分析、設計、理解。
  當提到物件導向的時,不僅是一種程式設計方法。它更是一種程式開發方式。重要的物件導向程式語言包含
Common LispPythonC++ObjectiveCSmalltalkDelphiJavaSwiftC#PerlRuby PHP.


()封裝(encapsulation):何謂封裝?顧名思義就是把東西包裝起來;
  將相關的資料與處理用的程序包裝在一起即所謂的封裝,有時也稱資訊隱藏(information  hiding)。封裝的意義即在為設計專屬於某特定類別/物件的資料與處理程序(方法)
  封裝的作用像是為特定的物件/類別啟動一道防火牆,除非經過允許,否則專屬該物件的資料與方法是不能被其他物件/類別所存取的
  好處有:
1.簡化程式設計,可取用已設計完成的物件/類別而非重新設計,簡化了程式設計。

2.容易修改與擴充的彈性。重新設計類別內部程式,對於產生此類別的物件類別不會受影響。



()繼承(inherit):繼承,就字面上的觀念來看,就像孩子繼承了爸爸媽媽的基因,所以很像爸爸媽媽,但又有自己的特色。
  利用繼承觀念來實作程式世界裡的層類別層級,讓下層的物件/類別能夠將其上層的物件/類別的某些資料或方法沿用過來,可簡化程式的設計,也能讓已設計好的物件/類別能再利用。
   物件導向思維的繼承精神在於分門別類與再利用,也就是即使上下層類別間並不具備父子關係時,仍可以用繼承的觀念。如,「書」不是「紙」,但是書一旦繼承自「紙」後,將擁有紙所具有的屬性與方法,也就適用紙的屬性與方法,書與紙不構成父子類別,此行為卻因再利用能使程式設計得以簡化。

()多型(Polymorphism):能讓同一種操作方法會因為對象不同而有不同的處理方式,例如,用於人類、狗,程式都會有不同的處理方式。
   透過多型的機制,程式設計師得以在不修改、破壞現存程式碼的情況下也能擴充與加強現有系統的功能。

()類別的定義只有一個,但是用來產生該類別的物件則有多個。類別就是由許多物件中抽離出重要的特性來,而這些特性,足以讓被抽象化的物件,與別的物件分別出來。這過程稱之為抽象化(abstract)。抽象化可以想像成,我們把現實世界的東西,用程式碼來呈現,有甚麼屬性跟甚麼方法(功能)。



Java物件導向程式語言2個精神與3個特徵如下:

  精神:
  • 抽象化(abstraction):物件抽象化幫助我們了解並實際掌握物件內容。
  • 繼承(inheritance):抽象化是指物件被良好的定義及描述,繼承則是賦予程式能重複使用物件以增加其延展性。

  特徵:
  • 繼承(inheritance)
  • 封裝(encapsulation)
  • 多型(polymorphism)


2016/10/04  碰騰

留言

這個網誌中的熱門文章

107年高考資訊處理上榜心得(自修)

107 年高考資訊處理上榜心得 ( 自修 ) ------------------------------------------------------------------------- l    背景及報考動機 l    個人成績 l    準備經驗及時程規劃 l    各科準備方式 l    Q&A ------------------------------------------------------------------------- l    背景及報考動機: 小弟很幸運地今年考上高考資訊處理 ( 正取尾巴錄取 ) ,剛好這兩年開缺很多,今年總共錄取 117 人,正取 92 ,增額 25 人。因為自己也在網路上參考很多心得文章,所以想分享自己這次考上的心得。 先說一下自己考公職的歷程,所有的考試,都未曾補習過,小弟比較喜歡自己讀。考完公職才發現從小到大的考試根本無法比。準備資訊處理的考試前前後後時間加起來算是一年左右吧。 101/06              大學畢業 ( 資訊傳播工程學系 ) 102/09              考取特考交通行政 ( 參考: 交通行政上榜心得 ) 104/07              差 0.5 分考上高考交通行政 105/01              考取桃園捷運有限公司 106/03-12        邊工作 ( 桃捷 ) 邊念 106/07  ...

電腦編碼系統介紹

( 參考資料: wiki + 淺 談 電腦 編 碼 )   工作上在練習寫 Struts 架構時,發現編碼蠻重要的,例如設定登入頁面,設定編碼不一致時會出現編碼錯誤 ,加上自己不是很懂整個概念,而整理了這篇電腦編碼系統。 電腦編碼系統介紹: -------------------------------------------------------- ( 一 ) 基礎概念 ( 二 ) 常見的編碼及說明 ( 三 ) 網際網路的發展 ( 四 ) Unicode -------------------------------------------------------- ( 一 ) 基礎概念: 由於人能理解各種特殊複雜的文字及符號,而電腦只懂得兩個數字,即 0 與 1 ,因此我們必須制定一些規則,將特殊複雜的文字及符號,用 0 與 1 的數字組合表示。 如大寫英文字母” A ”,在 ASCII 編碼中,” 1000001 ” (7bits) 表示。” 1000001 ”稱為 字元集、字符集 (Character encoding) 。     所以字元編碼是一種系統,會將支援的字元集中的每一個字元的與代表該字元的某個值配對。 PS : Bit( 位元 ) 為最小單位: 0 或 1 。 Bytes( 位元組 ) 由八個 Bit 所組成。 ( 二 ) 常見的編碼及說明: 1.      ASCII(American Standard Code for Information Interchange) : (1)   美國資訊交換標準碼,字面意思就知此編碼由美國制定,為基於拉丁字母的一套字元邏輯, ASCII 編碼僅用 7bits ,最多僅能表示 2 7 , 128 個字元,所以能展現的字元極其有限,只能表達英文字母 A-Z 、 a-z 、數字 0-9 及少量標點符號,適合用於開發英文環境中。 (2) 每台電腦都有此編碼,用來儲存英文字元素。其他語言國家透過相同的 ANSI 編碼,去做自己國家的語言文字對應,因而產生不同的編碼系統。若是用同樣文字轉換成別的編碼辨識,會形成亂碼。 ( ...

交通行政考試 心得

交通行政考試   心得   準備公務人員的時間差不多十個月 (101/9-102/6/14) ,一開始的目標是『高普考』、『普考』及『身障特考』,以三等考試為主,四等為第二順位,所以在準備上以高普考的科目為主,四等考的較少,所以準備三等基本上可以考四等。很幸運這次身障四等出的每科題目都會寫,不太刁鑽。當初報考是以挑戰低錄取為主,所以沒打算補習,測試自己的能力到什麼程度,每個人可以視自己狀況是否需要補習,依經濟壓力、資訊更新等等,沒有一定的模式。 分數: 102 身障特考四等 國文   47  申 39 測 8 法學   56 運輸學   66 運經   78 運管   88 交行   60 總成績   65.83 ( 排名 1) 錄取標準   50.83   主要科目分數較高,本以為共同科目不會太差,結果感到意外。補充一下交通行政類科,高普考、普考查過近兩年分數差不多落在 65-50 左右。 ( 每類別錄取分數都不相同,無法比較 )   其實大學畢業本來沒有要從事公務人員,發生一些事情,才走上考國家考試,也就去挑戰它了。先看自己要報考哪類考試,地方、鐵路、警察特考、高普考、普考 …… 等等,再選擇要考的類別,然後就先查查要買哪家出版社的書囉,當初我買千華的共同類科,讀到中期才知道自己買錯了@@,聽朋友說可買志光系列的。大概用網路大部份的資料都找得到了,主要科目的書籍,買張恆光老師的書及志光運輸學的書,要準備 3-4 千是必要的。我大學唸的科系是資訊類,而跟交通毫無關係,可以說是新的領域。 **( 選擇考試目標及類別、書籍及網路心得文章 )   除了上網看心得文之外,有書籍是介紹國家考試上榜的書 ( 書名 - 飆進高普考 榜首如何巧勁致勝 ) ,看完鬥志燃燒 100 %。 飆進高普考-閱讀心得 基本上書中上 榜首 要素可歸類為:   * 下定決心要考上,給自己一個要考上的理由 ( 如考前三名或榜首之類 )   * 每天至少看書 8 小時以上   * 考前做考古題   * 個人筆記 ...