LOSoMan

@LOSoMan

Joined on Jul 2, 2021

  • 什麼是OOP 物件導向編程(Object-oriented programming),縮寫OOP。顧名思義這種編程方式就是將程式封裝成一種物件,在使用上就會提高軟體的重用性、靈活性和擴充性。而通常一個物件(object)指的就是一個類別(class)的實例,類別可以提供公開的欄位(field)、屬性(attribute)、方法(method),使其他的程式碼可以呼叫使用,而我們的專案程式就是由物件們產生關聯而成的。 在OOP導向的程式語言(如: C#、Java等),強調著封裝、繼承、多型,就如同一場遊戲裡的基本規則,是如此重要的存在。 OOP特性 封裝(Encapsulation): 所有物件都是類別的實體化,而這些類別裡往往包含著欄位、屬性、方法。然而,我們在使用類別時,無須明白類別內部的邏輯以及所有的方法,就能使用。所以在類別裡,我們使用了如: private、protected、public的型別來修飾方法。private的方法只在這個類別裡所使用;protected及public的方法則可在此類別的實體化時被使用。這就是所謂的封裝,將多餘的資訊藏起來,而外部能接收少部分類別的資訊(通常為public屬性、public方法)。 繼承(Inheritance): 在繼承這件事上,我們將較為基本的類別稱為父類別(parent class,如: 衣服);而在較上層繼承父類別的稱之為子類別(sub class,如: 襯衫)。假設父類別"衣服"定義了尺寸,那麼繼承了的子類別"襯衫"除了保有對尺寸的定義以外,更添加了顏色的定義。 多型(Polymorphism): 在此包含了多載(Overloading)以及覆寫(Overriding)的兩種形式。多載指的是在同一類別下,有著相同名稱的方法,卻有不同的引數及方法內的邏輯;而覆寫則是指子類別去覆寫(Overriding)了父類別的virtual或abstract方法。
     Like  Bookmark
  • 委派 在我的LOSoMan的委派講解筆記裡,已經清楚地介紹了委派的用法及用途。 事件的宣告 通常我們講到事件會先提到委派的原因是因為事件的參數型別是從委派宣告出來的,舉個例子: public delegate void MyHandler(object sender, MyEventArgs arg); public event MyHandler MySomeWorks; 這裡可以明確的了解"MyHandler"是自創的委派型別,而"MySomeWorks"正是這個型別的事件。 其中"MyEventArgs"為一個繼承"EventArgs"的自訂類別,程式部分為:
     Like 1 Bookmark
  • 什麼是XML? XML為可延伸標記式語言,可用來傳送與攜帶資料資訊。那麼,XML跟HTML有什麼差別呢? XML著重在內容 HTML強調布局 而且,他們的格式寫法及用法也稍微不同: XML的元素名稱有分大小寫。HTML的標籤不分大小寫。 XML的元素一定都要有起始標籤和結尾標籤。而HTML的元素在某些情況下,可以不寫結尾標籤。
     Like  Bookmark
  • Socket通訊概論 Socket通訊為使用Ethernet傳輸資訊的一種方式。運作的方式就如同電話撥接,透過設定插座的號碼,其他人就可透過這串號碼與其通話。而Socket的號碼就是IP Number加上TCP Port。 Socket的連線端可以分為主機端(Server)及客戶端(Client)。通常Server要先設定並連接上傳輸埠口,才能開始監聽是否有Client請求連接;而Client也一樣要連接上傳輸埠口,才能發送要求連線。而當通訊結束時,則會互相確認要中斷連線。 C#裡的Socket類別及常用方法 在C#程式裡,提供了Socket類別讓programmer可以更簡單的設計出可連線的應用程式。 Socket類別的宣告,如:(參閱連結)
     Like  Bookmark
  • 委派的定義 Microsoft手冊上所說,委派(Delegate)為一種類型,只要有相同簽章和傳回型別的方法,都可與定義好的委派產生關聯。之後要使用時,先定義一個委派呼叫方法,然後帶入參數即可。 Microsoft手冊也說委派是可以安全封裝方法的類型。這句話對我而言,就好比委派一個可以裝載方法的容器,你可以把方法放入委派這個容器之中,自然也可以將方法從容器中卸載。而當我們要使用這個容器裡所有存放的方法,就只需要呼叫(Invoke)這個容器就行了。 宣告委派 話不多說,先來看看如何宣告一個委派: public delegate void NonDelegate(); public delegate void MyDelegate(int A);
     Like  Bookmark
  • 多型(polymorphism) 在Microsoft Docs對多型的介紹中,我們可以了解其就是"多種形狀"的意思。 通常,多型指的就是一個位於基底類別的方法,但在不同的繼承類別裡同樣方法有不一樣的實質內容。在此舉個比較好了解的例子: 有一位生物老師教導了三個學生,要求他們對這棵樹進行介紹,結果三個學生的想法如下: A學生: 這棵樹會長果子。 B學生: 這棵樹有鬚根。 C學生: 這棵樹的根系很廣。 這三個同學的回答都不一樣,但他們都對這棵樹有正確的介紹。此時給他們白紙寫出想法時,就會得到這三種答案。
     Like  Bookmark
  • 概念 Thread的概念 在MicroSoft Docs裡介紹到Thread類別可建立和控制執行緒,設定執行緒的優先權,並取得它的狀態。其提供許多屬性及方法,讓編譯者可以對建立好的執行緒(Thread)進行控制並監督其狀態。以下,對於個人覺得常用方法(Method)及屬性(Attribute)作簡單說明: Thread類別的屬性: Name: 取得執行緒的名稱。 CurrentThread: 取得目前執行的執行緒。 IsAlive: 回傳Boolean值,若執行緒仍存在為true,不存在為false。 IsBackground: 取得或設定值,指出執行緒是不是背景執行緒。若設定為true,則程式關閉後執行緒也一併關閉;反之為false,則關閉程式後Thread仍會在背後運行至其自動關閉為止。
     Like  Bookmark