【中低階級】-[物件導向]-介紹

閱讀時間約 6 分鐘
  物件導向(Object Oriented Programming,又稱OOP),在程式領域中很常會看到一些英文代稱,如果不懂的話就比較會不知道在說些什麼,所以除了知道中文名稱外也要稍微知道一下它的代稱是什麼會比較好唷!

一、什麼是物件導向?

  把程式寫出來的功能集合成一個類別(class),接著建立成一個物件(object),再利用物件(object)做溝通與操作,什麼意思?舉個生活上的小例子:
  大家一定都有考過試吧~考完成績單也就會出來了,那麼從考試到各科成績出來最後統整出成績單,這整個流程在程式中就是「主程式」在寫的內容,也就是實際上在做的事情。
  那麼成績單是怎麼生成的呢?就是一開始會有成績單的格式,既定的格式通常在腦袋中,例如說有座號、名字、各科成績、排名...這樣的項目排列,那麼為了以後可以套用此格式因此就將這樣的格式打好後存檔命名為「成績單」,這樣的命名在程式中就是命名「類別(Class)」的名稱。
  也就是只要有考試才有可能會使用這樣格式的成績單,否則它只是一個毫無用處的檔案,要使用它就需要將成績單格式另存新檔(新建立出來),也就是專屬於當天考試的成績單,這個新的成績單檔案就可以使用,學生成績出來就可以把資料輸入進去。
  在程式中一樣的道理,主程式在執行的時候,需要用到類別(Class)的時候再建立出來成為物件(Object)就可以了,否則它也只是裝飾品並毫無用處。

物件導向還有一些名詞要知道的,這邊就一一比喻與敘述,這樣就會更了解了。先看一下一般基本成績單的樣子。
基本成績單
•一開始要有一個空間才能設計成績單,如:將固定格式的成績單另存新的檔案,我們就稱它為空白的檔案,那麼「另存」這個在程式中就是建立「物件(object)」,也就是新建立一個檔案。
•學生的成績出來了就要使用成績單,那麼我們新建立出來的成績單就要為它做命名,因此就將這個檔案命名為「段考成績單」,這個「命名」在程式中也就是做「類別(Class)」的命名
成績單中基本會有座號、名字、各科目成績、排名,這些項目欄位在程式裡一樣也稱為「欄位(Field)」,也就是第一排的項目。
有時候可能會有成績異動需要更改,有些不用,那麼更不更改這個狀況在程式中就稱作「屬性(Property)」,在程式中會配合get 和 set 來控制外部的存取與修改。
•當學生成績建立好的時候可能就需要去做列印,那麼去做「列印」這個動作也會是在「段考成績單」這邊去做列印,在程式中就是在類別(Class)中去做動作,那這個動作就稱為「方法(Method)」,這個方法只有在這個類別(Class)中才可以使用ㄛ!其他檔案就算有列印這個功能,但資料不會是你剛輸入的資料,所以這邊成績單列印是針對「段考成績單」這個檔案去做列印的。
這邊把這些名詞簡單的統整一下:
物件(object):建立一個具體或抽象的東西,如:檔案、學生、電腦、水、生物等等

類別(class):用來分門別類的,如:小狗、小貓、小鳥...這些就屬於「動物」類

欄位(Field):特性或屬性的名稱,例如小狗的「名字」、小狗的「年齡」、小狗的「毛色」...等

屬性(Property)值:對於欄位的各名稱給予的值,就是屬性值。如:小狗名字=「吉利」、小狗穿的衣服=「紅色」...等

方法(Method):對於物件(object)所做出來的行為動作,如:學生在「說話」、電腦在「開機」、小狗在「走路」、檔案在「列印」...等
這樣有沒有更懂一點了呢?我們來看一下圖示:
建立物件圖示
這就是主程式依照類別(Class)的格式去建立一個物件(object),那類別(class)裡面就包含著欄位(Field)、屬性(Property)、方法(Method),還有一個是建構函式(Constructor),這個是將一些資料由外部取得的資料把它拿到這個類別中可以做存取使用,也就是說把成績的資料輸入到「成績單」中。
建構函式(Constructor)就有一點像是數學的函式f(x,y)=運算式,由外面取得x、y值後,再進入到運算式中進行處理,一樣的道理。
一開始要先設計類別,欄位、屬性、方法這些先規劃好後,再來寫主程式,那麼程式的執行流程就會是:
建立類別(Class)格式圖示
主程式去使用類別(Class)圖示
說明:
1.目前這個建立還未進入主程式喔!只是先建立Class的格式而已

2.主程式想要使用Class,就要去建立這樣個格式才可以操作,因此要new一個Class,並且裡面要有一些資料參數才可以真正建立成一個完整的物件

3.主程式想要讓剛剛輸入到Class中的資料去做列印這個動作,那麼就可以使用「.列印」("."就是去做什麼事的意思),也就是一開始我們在Class中所設計的格式去建立屬於它的方法,只有這個Class才可以使用的方法哦!因為是在這個Class下所建立的,若有其他的Class就無法使用了。

二、為什麼要有物件導向?

  程式一寫下去可能就好幾百行、好幾千行,甚至更多,那麼物件導向就是把程式用物件的方式做類別的區分主程式在執行過程只要把相同類別的東西利用我們所建立的類別(Class)格式,拉進來去建立成物件就可以使用,之後也就可以一直重複使用相同格式的程式碼,主程式就可以簡短很多,幾乎寫程式都會運用到物件導向,所以非常的重要一定要把物件導向學好。

三、什麼時候會用到它?

  只要程式有物件導向這個功能就幾乎都會用到它,像是C#、Java就都有物件導向,所以使用機率很高。

四、如何使用它?

一開始要先設計程式架構去做分門別類的事,接著再進行主程式的編寫。

Step1建立類別(Class)

加入類別
類別命名

Step2類別內容設計

建立類別格式-1
建立類別格式-2

Step3:主程式再開始寫

主程式使用類別

Step4:程式執行結果

執行結果
執行後,因為我們主程式有做「成績單去列印」這件事,所以在我們「成績單」這個類別(Class)的方法(Method)是在做下面這件事
Console.WriteLine(id + name + "成績單去列印囉~");
因此也就會對應到在主控台就會顯示「當初給予的資料(座號與名字)+成績單去列印囉~」這樣的文字出來。

即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
21會員
43內容數
Hello~ Welcome to my blog~❤ 這邊會分享我在程式這條道路中的學習與成長, 過程中從而了解自己的不足,再學習。 希望透過分享的方式, 也讓正在學習程式的夥伴們一起學習, 我們一起加油吧~ 「彼此都會成為彼此之間的影響力」(´,,•ω•,,)♡ ❣
留言0
查看全部
發表第一個留言支持創作者!
橙果杏的沙龍 的其他內容
亂數是要做什麼用的?生活中其實有很多有關亂數的事,例如說:樂透摸彩、抽籤、驚喜包、中獎者、擲骰子等等都是跟亂數有關哦!它們都是將所有的數都丟進去一個空間裡再隨機抽取,在不重複的狀況下每一個數抽到的機率都是一樣的。 在程式中也有這個玩法哦!但是說是這麼說到底怎麼用,咱們來看看: 語法: 在隨機抽取的時
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
陣列運用、擷取字串   對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~
  陣列就陣列怎麼還有不規則陣列呢?一維陣列就一排沒什麼大問題,但是!二維以上的多維陣列不知道有沒有發現大家的長度都是一致的?用三維來說組合起來的箱子不是四邊形,就是長(正)方體,那麼不規則陣列組合起來就不一定是完整的長(正)方體了,可能就會出現東缺一腳、西缺一角的情形發生,我們用三維的圖形來表示:
上一篇的一維陣列是指一排箱子,二維陣列就會往上疊變成兩排箱子,那麼三維呢?並不是再往上疊三排箱子就是三維而是又多了後面深度,也就是三個維度。用圖示: 這樣有比較懂嗎?!沒關係!之前用箱子,那現在用數學來說明好了, 一維是x軸(長度) 二維是xy軸(長度+高度) 三維是xyz軸(長度+高度+深度) 四
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
亂數是要做什麼用的?生活中其實有很多有關亂數的事,例如說:樂透摸彩、抽籤、驚喜包、中獎者、擲骰子等等都是跟亂數有關哦!它們都是將所有的數都丟進去一個空間裡再隨機抽取,在不重複的狀況下每一個數抽到的機率都是一樣的。 在程式中也有這個玩法哦!但是說是這麼說到底怎麼用,咱們來看看: 語法: 在隨機抽取的時
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
陣列運用、擷取字串   對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~
  陣列就陣列怎麼還有不規則陣列呢?一維陣列就一排沒什麼大問題,但是!二維以上的多維陣列不知道有沒有發現大家的長度都是一致的?用三維來說組合起來的箱子不是四邊形,就是長(正)方體,那麼不規則陣列組合起來就不一定是完整的長(正)方體了,可能就會出現東缺一腳、西缺一角的情形發生,我們用三維的圖形來表示:
上一篇的一維陣列是指一排箱子,二維陣列就會往上疊變成兩排箱子,那麼三維呢?並不是再往上疊三排箱子就是三維而是又多了後面深度,也就是三個維度。用圖示: 這樣有比較懂嗎?!沒關係!之前用箱子,那現在用數學來說明好了, 一維是x軸(長度) 二維是xy軸(長度+高度) 三維是xyz軸(長度+高度+深度) 四
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
如果你曾凌虐身邊的低階眾生,那麼,你要有心理準備,因為總有一天他們會轉生為人,被殺生者來索命,被凌虐者來找麻煩,不管你逃到天涯海角,或是能逃過今生,終究要償還業報。 我在這裡所說的低階眾生,不只是指困在畜牲色身的狗貓牛羊魚蝦,也指那些剛剛從畜牲道,轉生為人的弱勢族群。
Thumbnail
日本人享有世界公認的健康長壽生活,背後隱藏著一系列的生活和飲食習慣。 研究表明,僅僅遵循一項特定的飲食習慣就能使死亡率降低15%。 那麼,是什麼秘密讓日本人能夠健康長壽呢? 以下是揭開日本人健康長壽的六個秘密。 ### 1. 高攝取海鮮 日本是一個島國,海鮮是日本飲食中的重要組成部分。 富含
Thumbnail
*歐元區商業疲軟 增加了經濟衰退的可能性 *美禁令影響 中國CSP高階AI伺服器明年出貨比低於4% *10月工業生產指數連17黑 製造業表現兩樣情 *10月批發零售業營業額降0.9% 零售、餐飲業則表現亮眼
Thumbnail
     此書用較為詼諧嬉鬧的手法呈現劇情。講述為了調查起獲貪贓枉法的三江口盧局長失蹤案,而從中央空降神探來辦案的張一昂刑警,如何在人生地不熟又敵我不明的情況下,能急中生智、吉星高照、否極泰來,乍看不按牌理出牌或恣意妄為,卻能接連破獲重大刑案,擄獲眾人信任的推理喜劇。  
Thumbnail
談到面試這件事,我可能真的有很多甘苦談可以分享給大家。發表《面試不成的12個原因(上)最好是不符所需啦!》及《面試不成的12個原因(下)被當分母了》兩篇文章後,受到不少的關注,我決定再來分享跟面試有關的三個彩蛋。 面試是每個上班族都會遇到的。本文這三個彩蛋,或許你可以稱之為經典、離譜、不專業⋯⋯
Thumbnail
近期巨大展延票期風暴,引發市場關注庫存與現金流問題。 11/23法說會,巨大稱,雖然中低階車銷售緩、零件堆高,但中高階車仍強,且中國解封、市場復甦,有望消化中低階車款。 下半年中低階車搶貨潮不再,毛利率、營益率同降;中高階車則面臨零組件缺貨、出貨不順,無法回到2018年常態。
Thumbnail
重點先行: Ebike鍊條技術門檻高,前三季年增30%,搭配chainring可組自行車系統、合併銷售。高階品成長動能看好。 從傳統零件製造商,到佈局品牌服務,目前在歐洲、北美有多間銷售據點搶市,有品牌護城河。 原物料、匯率不利因素淡化,助推毛利率。但中低階產品庫存修正持續,需留意後市。
Thumbnail
因為有部分讀者可能沒跟上個人的思路,所以再寫此篇完整交代個人這波低價純銀行股思考過程的轉折。 首先,不管節奏是否跟上,都請不用擔心,低價純銀行股個人一直以臺企銀、遠東銀為例子的主因,在於節奏即使不同,反應時間都會相當充足,不會有那種差個一天,就有天堂地獄之別的情況發生。
Thumbnail
當我們的靈識經過「隔陰之迷」,六識七識的記憶被完全清空後,從出生的那一刻起,我們就已經是低階肉身的「奴隸」了。 因為,人類童年期的「五蘊」,都是以「生物層次」本能架構起來的「意識作業平台」,等到了青少年和成年,大部分凡夫就會因此產生「身見我執」...
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
如果你曾凌虐身邊的低階眾生,那麼,你要有心理準備,因為總有一天他們會轉生為人,被殺生者來索命,被凌虐者來找麻煩,不管你逃到天涯海角,或是能逃過今生,終究要償還業報。 我在這裡所說的低階眾生,不只是指困在畜牲色身的狗貓牛羊魚蝦,也指那些剛剛從畜牲道,轉生為人的弱勢族群。
Thumbnail
日本人享有世界公認的健康長壽生活,背後隱藏著一系列的生活和飲食習慣。 研究表明,僅僅遵循一項特定的飲食習慣就能使死亡率降低15%。 那麼,是什麼秘密讓日本人能夠健康長壽呢? 以下是揭開日本人健康長壽的六個秘密。 ### 1. 高攝取海鮮 日本是一個島國,海鮮是日本飲食中的重要組成部分。 富含
Thumbnail
*歐元區商業疲軟 增加了經濟衰退的可能性 *美禁令影響 中國CSP高階AI伺服器明年出貨比低於4% *10月工業生產指數連17黑 製造業表現兩樣情 *10月批發零售業營業額降0.9% 零售、餐飲業則表現亮眼
Thumbnail
     此書用較為詼諧嬉鬧的手法呈現劇情。講述為了調查起獲貪贓枉法的三江口盧局長失蹤案,而從中央空降神探來辦案的張一昂刑警,如何在人生地不熟又敵我不明的情況下,能急中生智、吉星高照、否極泰來,乍看不按牌理出牌或恣意妄為,卻能接連破獲重大刑案,擄獲眾人信任的推理喜劇。  
Thumbnail
談到面試這件事,我可能真的有很多甘苦談可以分享給大家。發表《面試不成的12個原因(上)最好是不符所需啦!》及《面試不成的12個原因(下)被當分母了》兩篇文章後,受到不少的關注,我決定再來分享跟面試有關的三個彩蛋。 面試是每個上班族都會遇到的。本文這三個彩蛋,或許你可以稱之為經典、離譜、不專業⋯⋯
Thumbnail
近期巨大展延票期風暴,引發市場關注庫存與現金流問題。 11/23法說會,巨大稱,雖然中低階車銷售緩、零件堆高,但中高階車仍強,且中國解封、市場復甦,有望消化中低階車款。 下半年中低階車搶貨潮不再,毛利率、營益率同降;中高階車則面臨零組件缺貨、出貨不順,無法回到2018年常態。
Thumbnail
重點先行: Ebike鍊條技術門檻高,前三季年增30%,搭配chainring可組自行車系統、合併銷售。高階品成長動能看好。 從傳統零件製造商,到佈局品牌服務,目前在歐洲、北美有多間銷售據點搶市,有品牌護城河。 原物料、匯率不利因素淡化,助推毛利率。但中低階產品庫存修正持續,需留意後市。
Thumbnail
因為有部分讀者可能沒跟上個人的思路,所以再寫此篇完整交代個人這波低價純銀行股思考過程的轉折。 首先,不管節奏是否跟上,都請不用擔心,低價純銀行股個人一直以臺企銀、遠東銀為例子的主因,在於節奏即使不同,反應時間都會相當充足,不會有那種差個一天,就有天堂地獄之別的情況發生。
Thumbnail
當我們的靈識經過「隔陰之迷」,六識七識的記憶被完全清空後,從出生的那一刻起,我們就已經是低階肉身的「奴隸」了。 因為,人類童年期的「五蘊」,都是以「生物層次」本能架構起來的「意識作業平台」,等到了青少年和成年,大部分凡夫就會因此產生「身見我執」...