鄭彬老師 - 學生學習心得發表區 - 物件導向程式設計 四技電子二甲 2012-5
 


文章分類 Labels


最新文章 Top10

 

物件導向程式設計 四技電子二甲 2012-5

請四技電子二甲 同學留下心得報告。
全部共 20則留言
05-29 10:47:留言...
05-29 10:49:所有物件導向程式設計語言都提供三個重要的特性幫助你完成一個物件導向模型。它們是資料封裝(Encapsulation)、繼承(Inheritance)及多型(Polymorphism)。底下將介紹這三個物性的觀念: 資料封裝   資料封裝是將程式碼與其所處理的資料緊密結合,並保護兩方面在外部介面的安全與防止誤用的機制。封裝可以想成是受保護的封包以防範程式碼或資料被其他定義在封包外的程式碼任意地存取。存取封包內的程式碼和資料是由定義完整的介面來嚴格控制。   對Java而言,資料封裝的基本就是類別(Class)。一個類別定義了會被一組物件所共享的結構與行為(資料與程式碼)。當你建立類別時,你將指定構成該類別的程式碼與資料。這些元素共同被稱為類別的成員。更明確地說,由類別所定義的資料被稱作是成員變數或是實例變數。而作用在這些資料上的程式碼則稱為成員方法或就稱為方法。(假如你熟悉C/C++,可能會幫助你瞭解Java程式設計師所謂的「方法」是什麼,C/C++的程式設計師稱它為函式。)在正確撰寫的Java程式中,方法定義了成員變數應該如何使用。這表示行為與類別的介面是由操控實例資料的方法所定義。   因為類別的目的在於封裝複雜性,便有了將實作複雜性隱藏在類別內的機制。每個類別中的方法或變數可能被設定為隱密的或公開的。類別公開的介面表示所有該類別的外部使用者必須,或可以知道關於它所有的事情。隱密的方法或資料只有該類別方法的程式碼可以存取。所以,任何其他不屬於類別方法的程式碼皆不得私入方法或變數。因為在你其他部份的程式中,一個類別的私入成員只能經由該類別的公開方法來存取,你可以確保沒有不正確的動作會介入。當然,這也代表公開介面應該謹慎地設計,不要洩露太多類別內部運作的細節。   簡單講,資料封裝就是將資料分成私用(Private)、保護(Protected)、公用(Pubic)等,達到資料保密的目的。 繼承   繼承是一個物件得到另一個物件特性的過程。這點非常重要,因為它支援了階層式分類的觀念。大部份的知識是以階層式(也就是由上而下)的分類法而可管理。例如,獵犬在分類中屬於狗的一種,換句話說也是哺乳頹的一種,而哺乳類是隸屬於一個更大的類別動物之下。如果沒有階層,每個物件就必須明確地定義自己所有的特性。但是,利用繼承,物件只需要定義那些在它的類別中特有的屬性。它可以從它的父層繼承共有的屬性。因此,是繼承這個機制才能讓一個物件成為一個較一般性案例中的特例。   繼承也會與封裝相互作用。如果一個類別封裝了每些屬性,任何子類別就會有相同的屬性再加上另外它特有的部份。這是讓物件導向程式的複雜度成線性成長而非幾何成長的關鍵觀念。一個新的子類別繼承其所有前代的所有屬性。它不會與系統中其他大多數的程式碼有無法預期的交互影響。   有繼承的關係後,父類別 (Super class) 中的資料 (Data) 或方法 (Method) 在次子類(Subclass)就可以繼承使用,次子類別的次子類別也可以繼承使用,最後即能達到資料重覆使用的目的。 多型   多型是一個讓單一介面用在一般性動作的功能。特定的工作取決於狀況的實際性質。更具體的說,多型的概念常以一句話來解釋:「一個介面,多個方法」。這代表有可能可以設計一個通用的介面給一組相關動作。這因為讓相同的介面用於指定一般的分類而降低複雜度有幫助。選擇特定的動作(也就是方法)應用於各種情況是編譯器的工作。身為程式設計師的你,不需要手動去選擇。你只需要記住和應用通用的介面即可。   例如,父類別(Super Class)中有一個名叫做 show() 的方法,用來顯示學生的姓名資料,次子類別中也有一個名叫 show() 的方法,用來顯示學生的成績資料,這二個方法都稱為 show(),但作法上不同,程式碼也不同,次子類別的 show() 方法將蓋掉父類別的 show() 方法,這就是多型的運作方法。 謝謝老師的教導,讓我們學習到很多知識,且都說的很詳細,非常感謝您。 姓名:潘佳豪 學號:99143011
05-29 10:52:這只是物件導向的一種特性,此外,它還擴充了一般程式語言的功能,例如在C++ 語言當中,我們可定義許多相同名稱的副程式,它們各自執行不同的功能,而不會互相衝突──因為它們是針對不同的物件運作的,這是物件導向當中的『多形』(polymorphism),其它重要的概念還有『封裝』 (encapsulation) 與『繼承』(inheritance),使得程式撰寫可更容易模組化 (modular),也更易於重複使用 (reuse) 軟體元件。一般說來,SmallTalk與Simula兩種程式語言是OOP的始祖,C++、Java、Javascript、Flash Action Script與C# 則是近來OOP的主流。鄭文龍97143013
05-29 10:53:物件導向程式設計OOP是一種近幾年來程式設計的新觀念,它將程式語言要處理的對象看成是一種物件,傳統程式設計以程序導向為主,程式的動作過程就好像是電腦執行程式的流程一樣,但是這樣卻和實際上要解決的問題無法緊密結合。 物件導向的程式設計方法,是站在較人性化的觀點來思考、設計程式的邏輯,例如在傳統的程式設計語言中,我們要開啟一個資料庫檔案,通常是撰寫如下列的程式呼叫:『開啟檔案(資料庫)』,而在物件導向語言當中,則是執行下列的程式呼叫:『資料庫.開啟檔案』。 這只是物件導向的一種特性,此外,它還擴充了一般程式語言的功能,例如在C++ 語言當中,我們可定義許多相同名稱的副程式,它們各自執行不同的功能,而不會互相衝突──因為它們是針對不同的物件運作的,這是物件導向當中的『多形』(polymorphism),其它重要的概念還有『封裝』與『繼承』,使得程式撰寫可更容易模組化,也更易於重複使用軟體元件。一般說來,SmallTalk與Simula兩種程式語言是OOP的始祖,C++、Java、Javascript、Flash Action Script與C# 則是近來OOP的主流。 97143013 鄭文龍
05-29 11:55:件是包含資料與處理資料之方法的結構。如果您是物件導向程式設計的新手,下列詞彙與概念可以協助您快點上手。雖然成為一名成功的 Visual Basic 開發人員並不需要精通物件導向的程式設計,不過它將會非常有用,因為在 Visual Basic 中所執行的每個動作幾乎都與物件相關。 類別和物件 由於在物件導向的程式設計中總會一天到晚使用「類別」與「物件」這兩個詞彙,所以很容易將這兩個詞彙搞混。一般而言,類別是某事物的抽象代表,而物件則是類別所代表的事物之可用範例。這個規則的例外是共用的類別成員,可用於類別的執行個體以及宣告為類別型別的物件變數。 欄位、屬性、方法及事件 類別是由欄位、屬性、方法及事件所組成。欄位與屬性代表物件所包含的資訊。欄位就像變數一樣,可以直接讀取或設定。例如,如果您有一個名為 "Car" 的物件,可以將其色彩儲存在名為 "Color" 的欄位中。 屬性的擷取和設定方式類似於欄位,但是使用屬性 Get 和屬性 Set 程序來實作,這個程序對於如何設定或是傳回值提供更大的控制權。儲存的值與使用此值的程序之間的間接取直層協助隔離資料,並允許您在指派或是擷取它們之前先驗證值。 方法代表物件可以執行的動作。例如,"Car" 物件可以有 "StartEngine"、"Drive" 和 "Stop" 方法。您可以將程序 (Sub 常式或是函式) 加入類別以定義方法。 事件是物件從其他物件或應用程式中接收或傳輸到其他物件或應用程式的通知。只要有特定狀況發生,事件就會允許物件執行動作。"Car" 類別的事件範例為 "Check_Engine" 事件。因為 Microsoft Windows 是一種事件驅動作業系統,事件可以來自其他物件、應用程式或是使用者輸入,例如滑鼠點按或是按鍵動作。 封裝、繼承和多型 欄位、屬性、方法和事件只是物件導向程式設計方程式的一半。真正的物件導向程式設計需要物件來支援這三種品質:封裝、繼承和多型。 封裝表示將相關屬性、方法與其他成員的群組視為單一單位或物件。物件可以控制如何變更屬性和執行方法。例如,物件可以在允許屬性變更之前驗證值。封裝也使得日後變更實作更為容易,它可讓您隱藏物件的實作詳細資料,這個做法稱為資料隱藏。 繼承說明根據現有的類別建立新類別的能力。新的類別會繼承基底類別的所有屬性、方法和事件,而且可以透過其他的屬性和方法自訂。例如,您可以根據 "Car" 類別建立名為 "Truck" 的新類別。"Truck" 類別會繼承 "Car" 類別的 "Color" 屬性,而且可以有其他的屬性,例如 "FourWheelDrive"。 多型表示您可以用交換的方式使用多個類別,即使每個類別都以不同的方式實作相同的屬性或是方法。多型對於物件導向程式設計很重要,因為不論此時正在使用哪個型別的物件,多型允許您使用具有相同名稱的項目。例如,假定有一個 "Car" 基底類別,多型可讓程式設計師為任何數目的衍生類別定義不同的 "StartEngine" 方法。在名為 "DieselCar" 的衍生類別中的 "StartEngine" 方法,可能會與基底類別中具有相同名稱的方法完全不同。其他的程序或是方法可以用完全相同的方式來使用衍生類別的 "StartEngine" 方法,不論目前正在使用哪個型別的 "Car" 物件。 多載、覆寫和遮蔽 多載、覆寫和遮蔽是很容易搞混的相似概念。雖然這三項技術都可讓您建立名稱相同的成員,但是還是有一些重大的差異。 多載成員是用來提供不同版本的屬性或方法,這些版本的名稱都相同,但是會接受不同數目的參數或是不同資料型別的參數。 覆寫屬性與方法是用來取代不適用於衍生類別中的繼承屬性或是方法。覆寫成員必須接受相同的資料型別與引數的數目。衍生類別會繼承覆寫的成員。 遮蔽成員是用來在區域中取代有較大範圍的成員。任何型別都可以遮蔽任何其他型別。例如,您可以宣告一個屬性,以遮蔽具有相同名稱的繼承方法。無法繼承遮蔽成員。
05-29 19:59:物件導向的程式設計方式,在於讓整個程式元件化,對於每個元件賦予不同的任務,使其在巨觀之下,也能看出整個程式的條理,以減少新增、除錯、刪去某部分的程式時,所需要浪費的時間與精神。 舉個例子,一台車子的組裝,一定是引擎歸引擎、傳動歸傳動、煞車歸煞車,中間再把它連結在一起,這樣組裝方便,而且也方便維修,引擎掛了,拆出來換上另一顆,然後接好就可以了。但是如果引擎、傳動、煞車做成一個整體,一來找出問題麻煩,二來要把壞的部分拆出來就不是件容易的事。 至於物件導向程式設計的應用,只要有電腦的地方都可以用,例如:電視機、冷氣、電磁爐、數位相機,其實裡面都有微電腦,也或多或少需要韌體。舉數位相機為例,上面的韌體需要有測光偵測程式、介面控制程式、影像處理程式、檔案讀寫程式、整體系統程式等物件(當然不只這些)。 整個數位相機系統由「整體系統程式」控制,並不時地去取得「介面控制程式」的回報,以決定進行何種動作;這時候「測光偵測程式」也不停的在運作,以決定光圈、快門的組合。當使用者按下拍攝鍵,「介面控制程式」回報給「整體系統程式」,「整體系統程式」取得「測光偵測程式」的建議設定,設定光圈、快門,並且進行取像,然後將影像交由「影像處理程式」進行影像處理,最後再交由「檔案讀寫程式」寫入記憶卡。 學號:99143013 姓名:呂加盛
05-29 21:33:物件導向程序設計在80年代成為了一種主導思想,這主要應歸功於C++——C語言的擴充版。在圖形用戶界面(GUI)日漸崛起的情況下,物件導向程序設計很好地適應了潮流。GUI和物件導向程序設計的緊密關聯在Mac OS X中可見一斑。Mac OS X是由Objective-C語言寫成的,這一語言是一個仿Smalltalk的C語言擴充版。物件導向程序設計的思想也使事件處理式的程序設計更加廣泛被應用(雖然這一概念並非僅存在於物件導向程序設計)。一種說法是,GUI的引入極大地推動了物件導向程序設計的發展。 物件導向的特性也被加入了當時較為流行的語言:Ada、BASIC、Lisp、Fortran、Pascal以及種種。由於這些語言最初並沒有物件導向的設計,故而這種糅合常常會導致兼容性和維護性的問題。與之相反的是,「純正的」物件導向語言卻缺乏一些程式設計師們賴以生存的特性。在這一大環境下,開發新的語言成為了當務之急。作為先行者,Eiffel成功地解決了這些問題,並成為了當時較受歡迎的語言。 在過去的幾年中,Java語言成為了廣為應用的語言,除了它與C和C++語法上的近似性。Java的可移植性是它的成功中不可磨滅的一步,因為這一特性,已吸引了龐大的程式設計師群的投入。 近日,一些既支持物件導向程序設計,又支持面向過程程序設計的語言悄然浮出水面。它們中的佼佼者有Python、Ruby等等. 學號:99143051 姓名:鄭智杰
05-30 18:57:物件導向程序設計(英語:Object-oriented programming,縮寫:OOP),指一種程序設計范型,同時也是一種程序開發的方法。它將對象作為程序的基本單元,將程序和數據封裝其中,以提高軟體的重用性、靈活性和擴展性。[1] 當我們提到物件導向的時候,它不僅指一種程序設計方法。它更多意義上是一種程序開發方式。在這一方面,我們必須了解更多關於物件導向系統分析和物件導向設計(Object Oriented Design,簡稱OOD)方面的知識。 物件導向程序設計的雛形,早在1960年的Simula語言中即可發現,當時的程序設計領域正面臨著一種危機:在軟硬體環境逐漸複雜的情況下,軟體如何得到良好的維護?物件導向程序設計在某種程度上通過強調可重複性解決了這一問題。20世紀70年代的Smalltalk語言在物件導向方面堪稱經典——以至於30年後的今天依然將這一語言視為物件導向語言的基礎。 物件導向程序設計可以被視作一種在程序中包含各種獨立而又互相調用的單位和對象的思想,這與傳統的思想剛好相反:傳統的程序設計主張將程序看作一系列函數的集合,或者直接就是一系列對電腦下達的指令。物件導向程序設計中的每一個對象都應該能夠接受數據、處理數據並將數據傳達給其它對象,因此它們都可以被看作一個小型的「機器」,或者說是負有責任的角色。 目前已經被證實的是,物件導向程序設計推廣了程序的靈活性和可維護性,並且在大型項目設計中廣為應用。 此外,支持者聲稱物件導向程序設計要比以往的做法更加便於學習,因為它能夠讓人們更簡單地設計並維護程序,使得程序更加便於分析、設計、理解。反對者在某些領域對此予以否認。 支持部分或絕大部分物件導向特性的語言即可稱為基於對象的或物件導向的語言。 早期,完全物件導向的語言主要包括Smalltalk等語言,目前較為流行的語言中有Java、C#、Eiffel等。隨著軟體工業的發展,比較早的程序導向的語言在近些年的發展中也紛紛吸收了許多物件導向的概念,比如C->C++,C->Objective-C,BASIC->Visual Basic->Visual Basic .NET,Pascal->Object Pascal,Ada->Ada95。 謝謝老師教導我們有關物件導向相關的知識、實作等等事情,老師教得非常認真和專業,雖然班上的人大多數不是上網、玩遊戲或是沒有再聽課,但是老師還是棄而不捨的繼續教導我們,非常感謝老師。 學號:99143071 姓名:王力偉
05-31 08:07:這是有趣的一環,為何說沒有封裝,就沒有繼承呢?理由是繼承的設計必須來自於已封裝的類別,我們在此稱父類別,就設計概念而言,繼承的設計其實是等同於封裝的一種,它僅與一般的封裝類別設計差別在於多繼承了父類別,講白話一點,就是多了一些父類別的公開成員變數、公開成員函式、保護成員變數以及保護成員函式可以使用以及操作罷了;此外,不得不提到的就是「虛擬」( Virtual )以「抽象」的修飾詞囉~對於繼承後的行為,相信會有人問:「如果A, B, C三個類別都有建構子,那C繼承自B,B又繼承自A,那麼,當C準備要進行建構時,會由誰先執行建構子呢?」答案是順序自A依序至C執行建構子,想像那就像是越屬於基( base ),擁有執行優先權就越高;換句話說,依現況,A就像爺爺,B像父親,C就像自己,而今天任何事情一定都是以爺爺為最優先一樣。繼承與被繼承,有些專用字詞在這邊稍微講解一下:基礎類別:通常稱作是繼承類別的上層類別,或叫做基底類別 ( Base Class )衍生類別:繼承了基礎類別後所產生的這個類別,我們稱這個類別為基礎類別的衍生類別( Derived Class )「多重繼承」其實可以從兩個角度來看待,第一種是垂直多重繼承,第二種是平行多重繼承,這兩種的差異在於被繼承者所擔任的角色不同,利弊也不同。 學號:99143008 姓名:鍾佑彬 繼承與被繼承,有些專用字詞在這邊稍微講解一下: 基礎類別:通常稱作是繼承類別的上層類別,或叫做基底類別 ( Base Class ) 衍生類別:繼承了基礎類別後所產生的這個類別,我們稱這個類別為基礎類別的衍生類別 ( Derived Class ) 那麼,「多重繼承」是怎麼回事呢?其實可以從兩個角度來看待,第一種是垂直多重繼承,第二種 是平行多重繼承,這兩種的差異在於被繼承者所擔任的角色不同,利弊也不同: 垂直多重繼承: 目前最廣泛使用的莫過於.NET Framework的繼承架構,所有的物件的繼承行為都被限制在一次 僅能繼承一種父類別,這讓整體的架構簡潔易讀易懂,並且維護方便,說好聽點,就是標準的 一對一世襲制度,每項類別都有個最主要的基礎類別,但就是欠缺了點爆發力的彈性。 平行多重繼承: 最常見的就是在C++裡面囉~ 這也是它之所以稱作非常彈性的程式語言之一的原因~平行多重繼 承的作法,就是繼承可以允許同時繼承自多個父類別,說好聽點,就是能夠製造出很猛的合體 金剛;說難聽點,就是有點亂搞了!怎麼說?平行式的繼承,最容易造成的問題就是衍生類別 使用的成員函式、成員變數在管理上會直接受到多個同階層基礎類別的限制或衝突,就像是小 孩子想要買玩具,但是他的兩個爸爸開了兩種不同,甚至可能是互斥的買玩具條件,小孩子可 能會因無法同時滿足這兩項條件,而買不到玩具;然而這種繼承方式既然到現在都沒有被C++ 所淘汰,的確有他用武之地~( 亂搞~ ) 比如說~我們想要讓一部車同時擁有印表機與洗衣機的 功能,只要讓車同時繼承印表機與洗衣機即可( 因為我們畢竟無法要求印表機先繼承自洗衣機 ,再給車繼承吧 ),一個衍生類別同時具備不同基礎類別的特性,這...不是亂搞是什麼~^^||
05-31 08:10:這是有趣的一環,為何說沒有封裝,就沒有繼承呢?理由是繼承的設計必須來自於已封裝的類別,我們在此稱父類別,就設計概念而言,繼承的設計其實是等同於封裝的一種,它僅與一般的封裝類別設計差別在於多繼承了父類別,講白話一點,就是多了一些父類別的公開成員變數、公開成員函式、保護成員變數以及保護成員函式可以使用以及操作罷了;此外,不得不提到的就是「虛擬」( Virtual )以「抽象」的修飾詞囉~對於繼承後的行為,相信會有人問:「如果A, B, C三個類別都有建構子,那C繼承自B,B又繼承自A,那麼,當C準備要進行建構時,會由誰先執行建構子呢?」答案是順序自A依序至C執行建構子,想像那就像是越屬於基( base ),擁有執行優先權就越高;換句話說,依現況,A就像爺爺,B像父親,C就像自己,而今天任何事情一定都是以爺爺為最優先一樣。繼承與被繼承,有些專用字詞在這邊稍微講解一下:基礎類別:通常稱作是繼承類別的上層類別,或叫做基底類別 ( Base Class )衍生類別:繼承了基礎類別後所產生的這個類別,我們稱這個類別為基礎類別的衍生類別( Derived Class )「多重繼承」其實可以從兩個角度來看待,第一種是垂直多重繼承,第二種是平行多重繼承,這兩種的差異在於被繼承者所擔任的角色不同,利弊也不同。學號:99143008姓名:鍾佑彬
06-06 00:20:留言...
06-06 14:03:說真的老師你教學認真,總是會在上課鐘響時到教室準備好要上課的內容 ,在課堂上鄭老師都會按照課程的進度,一步一步按部就班的上課,到了下課時間鄭老師也會準時下課. 讓同學們可以到教室外透透氣,吹吹風,看看外面的世界轉換心情,好好準備下堂課,這樣的教學方式讓我能更加且更容易的吸收到東西,至少注意力也能更加集中,就算有不懂的地方,班上的同學也都互相的研討跟討論,在這樣的上課風氣下,我能學習到新知識!!但是老師我覺得你太隨和了,以至於班上同學都很不尊重你,也很不尊重這門課,上課時不是玩遊戲,就是上網,我覺得這是可以,但前提是把要做的都做完、該完成的都完成,但有些人卻不是什麼都沒做、沒學到,一來就是玩、聊天,到你要檢查時,才在那邊東找人西找人幫忙的,這樣的態度真的很差,完全就是不尊重這課、老師、同學、家人,所以我希望老師可以改進這些,不然說真的,這樣子的課,上過一次後,認真的同學應該會不想再來了,剩下的只有那些愛玩的同學。
06-06 14:03:說真的老師你教學認真,總是會在上課鐘響時到教室準備好要上課的內容 ,在課堂上鄭老師都會按照課程的進度,一步一步按部就班的上課,到了下課時間鄭老師也會準時下課. 讓同學們可以到教室外透透氣,吹吹風,看看外面的世界轉換心情,好好準備下堂課,這樣的教學方式讓我能更加且更容易的吸收到東西,至少注意力也能更加集中,就算有不懂的地方,班上的同學也都互相的研討跟討論,在這樣的上課風氣下,我能學習到新知識!!但是老師我覺得你太隨和了,以至於班上同學都很不尊重你,也很不尊重這門課,上課時不是玩遊戲,就是上網,我覺得這是可以,但前提是把要做的都做完、該完成的都完成,但有些人卻不是什麼都沒做、沒學到,一來就是玩、聊天,到你要檢查時,才在那邊東找人西找人幫忙的,這樣的態度真的很差,完全就是不尊重這課、老師、同學、家人,所以我希望老師可以改進這些,不然說真的,這樣子的課,上過一次後,認真的同學應該會不想再來了,剩下的只有那些愛玩的同學。
06-06 16:02:計算機科學中對象和實例概念的最早萌芽可以追溯到麻省理工學院的PDP-1系統。這一系統大概是最早的基於容量架構(capability based architecture)的實際系統。另外1963年Ivan Sutherland的Sketchpad應用中也蘊含了同樣的思想。對象作為編程實體最早是於1960年代由Simula 67語言引入思維。Simula這一語言是奧利-約翰·達爾和克利斯登·奈加特在挪威奧斯陸計算機中心為模擬環境而設計的。(據說,他們是為了模擬船隻而設計的這種語言,並且對不同船隻間屬性的相互影響感興趣。他們將不同的船隻歸納為不同的類別,而每一個對象,基於它的類別,可以定義它自己的屬性和行為。)這種辦法是分析式程序的最早概念體現。在分析式程序中,我們將真實世界的對象映射到抽象的對象,這叫做「模擬」。Simula不僅引入了「類別」的概念,還應用了實例這一思想——這可能是這些概念的最早應用。 20世紀70年代施樂PARC研究所發明的Smalltalk語言將物件導向程序設計的概念定義為,在基礎運算中,對對象和消息的廣泛應用。Smalltalk的創建者深受Simula 67的主要思想影響,但Smalltalk中的對象是完全動態的——它們可以被創建、修改並銷毀,這與Simula中的靜態對象有所區別。此外,Smalltalk還引入了繼承性的思想,它因此一舉超越了不可創建實例的程序設計模型和不具備繼承性的Simula。 此外,Simula 67的思想亦被應用在許多不同的語言,如Lisp、Pascal。 物件導向程序設計在80年代成為了一種主導思想,這主要應歸功於C++——C語言的擴充版。在圖形用戶界面(GUI)日漸崛起的情況下,物件導向程序設計很好地適應了潮流。GUI和物件導向程序設計的緊密關聯在Mac OS X中可見一斑。Mac OS X是由Objective-C語言寫成的,這一語言是一個仿Smalltalk的C語言擴充版。物件導向程序設計的思想也使事件處理式的程序設計更加廣泛被應用(雖然這一概念並非僅存在於物件導向程序設計)。一種說法是,GUI的引入極大地推動了物件導向程序設計的發展。 蘇黎世聯邦理工學院的尼克勞斯·維爾特和他的同事們對抽象數據和模塊化程序設計進行了研究。Modula-2將這些都包括了進去,而Oberon則包括了一種特殊的物件導向方法——不同於Smalltalk與C++。 物件導向的特性也被加入了當時較為流行的語言:Ada、BASIC、Lisp、Fortran、Pascal以及種種。由於這些語言最初並沒有物件導向的設計,故而這種糅合常常會導致兼容性和維護性的問題。與之相反的是,「純正的」物件導向語言卻缺乏一些程式設計師們賴以生存的特性。在這一大環境下,開發新的語言成為了當務之急。作為先行者,Eiffel成功地解決了這些問題,並成為了當時較受歡迎的語言。 在過去的幾年中,Java語言成為了廣為應用的語言,除了它與C和C++語法上的近似性。Java的可移植性是它的成功中不可磨滅的一步,因為這一特性,已吸引了龐大的程式設計師群的投入。 近日,一些既支持物件導向程序設計,又支持面向過程程序設計的語言悄然浮出水面。它們中的佼佼者有Python、Ruby等等. 正如面向過程程序設計使得結構化程序設計的技術得以提升,現代的物件導向程序設計方法使得對設計模式的用途、契約式設計和建模語言(如UML)技術也得到了一定提升。 [編輯]腳本中的OOP 近年來,物件導向的程序設計越來越流行於[腳本語言]中。Python和Ruby是建立在OOP原理的腳本語言,Perl和PHP亦分別在Perl 5和PHP 4時加入物件導向特性。
06-06 22:07: 物件導向程序設計這門課讓我學到許多有關動畫製作的方法,讓我了解到製作動畫是一門辛苦的工作。在學習的過程中,雖然有許多令人不解的地方。但是,在自己不斷研究與詢問老師及同學之下最後還是小有成果。在每個動畫的製作過程中,需要注意注意許多的小地方假如在小地方有錯,可能就無法完成動畫的製作。說真的老師你教學認真,總是會在上課鐘響時到教室準備好要上課的內容 ,在課堂上鄭老師都會按照課程的進度,一步一步按部就班的上課,到了下課時間鄭老師也會準時下課. 讓同學們可以到教室外透透氣,吹吹風,看看外面的世界轉換心情,好好準備下堂課,這樣的教學方式讓我能更加且更容易的吸收到東西,至少注意力也能更加集中,就算有不懂的地方,班上的同學也都互相的研討跟討論,在這樣的上課風氣下,我能學習到新知識!!
06-07 02:32:這門課讓我學到許多有關動畫製作的方法,讓我了解到製作動畫是一門辛苦的工作。在學習的過程中,雖然有許多令人不解的地方。但是,在自己不斷研究與詢問老師及同學之下最後還是小有成果。在每個動畫的製作過程中,需要注意注意許多的小地方假如在小地方有錯,可能就無法完成動畫的製作。說真的老師你教學認真,總是會在上課鐘響時到教室準備好要上課的內容 ,在課堂上鄭老師都會按照課程的進度,一步一步按部就班的上課,這樣的教學方式讓我能更加且更容易的吸收到東西,至少注意力也能更加集中,就算有不懂的地方,班上的同學也都互相的研討跟討論,在這樣的上課風氣下,我能學習到新知識!!
06-13 11:20:這學期選了這門課,讓我學習到製作動畫和繪圖的方法。也更讓我知道製作動畫電影的辛苦, 學習的過程中,雖然有許多令人不解的地方,但我知道每天一步一步的學習, 慢慢的就能學習到物件導向程序設計重要,在自己不斷研究與詢問老師及同學之下最後還是小有成果, 在每個動畫的製作過程中,需要注意注意許多的地方,要是錯了就無法完成老師所交待的作業, 可能也無法完成動畫的製作。到了下課時間鄭老師也會準時下課,也會讓同學們可以到教室外透透氣, 吹吹風,看看外面的世界轉換心情,好好準備下堂課,這樣的教學方式讓我能更加且更容易的吸收更多的東西, 至少注意力也能集中,有什麼不懂的地方,班上的同學也都互相的研討跟討論,在這樣的上課風氣下, 就能學習到物件導向程序設計的根。
06-19 10:47:物件導向程序設計這門課讓我學到許多有關動畫製作的方法,讓我了解到製作動畫是一門辛苦的工作。在學習的過程中,雖然有許多令人不解的地方。但是,在自己不斷研究與詢問老師及同學之下最後還是小有成果。在每個動畫的製作過程中,需要注意注意許多的小地方假如在小地方有錯,可能就無法完成動畫的製作。說真的老師你教學認真,總是會在上課鐘響時到教室準備好要上課的內容 ,在課堂上鄭老師都會按照課程的進度,一步一步按部就班的上課,到了下課時間鄭老師也會準時下課. 讓同學們可以到教室外透透氣,吹吹風,看看外面的世界轉換心情,好好準備下堂課,這樣的教學方式讓我能更加且更容易的吸收到東西,至少注意力也能更加集中,就算有不懂的地方,班上的同學也都互相的研討跟討論,在這樣的上課風氣下,我能學習到新知識
06-19 10:48:總是會在上課鐘響時到教室準備好要上課的內容 ,在課堂上鄭老師都會按照課程的進度,一步一步按部就班的上課,到了下課時間鄭老師也會準時下課. 讓同學們可以到教室外透透氣,吹吹風,看看外面的世界轉換心情,好好準備下堂課,這樣的教學方式讓我能更加且更容易的吸收到東西,至少注意力也能更加集中,就算有不懂的地方,班上的同學也都互相的研討跟討論,在這樣的上課風氣下,我能學習到新知識!!但是老師我覺得你太隨和了,以至於班上同學都很不尊重你,也很不尊重這門課,上課時不是玩遊戲,就是上網,我覺得這是可以,但前提是把要做的都做完、該完成的都完成,但有些人卻不是什麼都沒做、沒學到,一來就是玩、聊天,到你要檢查時,才在那邊東找人西找人幫忙的,這樣的態度真的很差,完全就是不尊重這課、老師、同學、家人,所以我希望老師可以改進這些,不然說真的,這樣子的課,上過一次後,認真的同學應該會不想再來了,剩下的只有那些愛玩的同學。
06-27 17:39:物件導向的課程中 FLASH是第一次接觸到,由於內部還是有關於程式碼的部分所以只用上還算上手畢竟程式碼對於我們電子系的同學而言還算是比較熟悉的東西之一,雖然FLASH相較於系上其他的課程較不一樣,但是也增加了系上同學的技能多了一個可以在外面跟別人競爭的工具。 老師的教學如果有再聽一定學的倒也學得會就算不懂只要提問老師都會不厭其煩地再次講解,只是班上同學的風氣不是說很好,導致老師上課的效果就大打折扣。 老師其實物件導向這種看成品跟過程的課程考試,只有文字敘述講真的被誤解的機率很高,畢竟不是每個人都是頂尖好手,今天我比較怕錯誤所以我多標示了些東西來提醒自己好分辨以減少錯誤的機率。為的也只是能夠做到老師想要的結果,老師可以聽完我們的解釋之後再做決定,我們有時候只是想要呈現最好的結果來給老師,就這麼簡單罷了!!過程的不同不也表示我們有吸收到老師上課教的東西進而變成我們自己的東西而來使用,物件導向這門課讓我多學會了個FLASH的應用以及更多的程式語言使用。
登入帳號密碼代表遵守學術網路規範


 



 
想跟國際友人聊天嗎?
 

現在流行全球化英語,稱之為「GLOBISH」。有人認為,只要記住約1500個單字,便可達成這一個願望。


例如對於字母A,只要參考下列以「A」為字首的單字便可完成基本對話所需的基本單字群:

a 一個

able 有能力

about 關於

above 上方

accept 接受

according根據

account帳戶

accuse控告

achieve達成

accross穿過

act表現

adapt適應

add增加

admit承認

adult成人

advertisement廣告

adivise勸告

affect影響

afraid 害怕

after之後

again再次

against反對

age年齡

agency機構

ago之前

agree同意

ahead之前

aid輔助

aim瞄準

air空氣

alive活的

all全部

allow允許

ally聯盟

almost幾乎

alone單獨

along沿著

already已經

also

although雖然

always永遠

among之間

amount數量

and以及

anger生氣

angle角度

announce宣布

another叧外

answer答案

any任何

apartment公寓

apologize道歉

appeal請求

appear出現

apple蘋果

apply申請

appoint指派

approve批准

area地區

argue爭議

arm手臂

army軍隊

around四周

arrest逮捕

arrive到達

art藝術

as如同

ask詢問

assist幫助

at

attach附加

attack攻擊

attempt嘗試

attend出席

attention注意

authority權威

automatic自動

autumn秋天

available可用

average平均

avoid避免

awake醒來

award奬勵

away離開

 

 


字首「B」的單字:

baby嬰兒
back回來
bad壞的
bag袋子
balance平衡
ball
ballot投票
ban禁止
bank銀行
bar酒巴
barrier障礙
base基礎
basket籃子
bath沐浴
battle戰爭
be
bear忍耐
beat敲打
beauty美麗
because因為
become變成
bed
beer啤酒
before之前
begin開始
behind後面
believe相信
bell
belong屬於
below下面
bend彎曲
beside除外
best最好
betray背叛
better更好
between之間
big大的
bill帳單
bird飛鳥
birth誕生
bit一點點
bite
black
blade刀刃
blame責怪
blank空白
blanket毛毯
bleed流血
blind盲眼
block區塊
blood
blow
blue
board木板
boat
body身體
bomb炸彈
bone骨頭
bonus小奬勵
book
boot靴子
border邊界
born誕生
borrow借用
boss老闆
both兩者
bottle瓶子
bottom底下
box盒子
boy男孩
boycott杯葛
brain腦子
brake煞車
branch分支
brave勇敢
bread麵包
break打破
breathe呼吸
brick磚塊
bridge
brief信念
bright明亮
bring帶來
broad寛廣
broadcast廣播
brother兄弟
brown褐色
brush刷子
budget預算
build建造
bullet子彈
burn燃燒
burst爆裂
bury埋葬
business商業
busy忙碌
but但是
butter奶油
button釦子
buy購買
by被、由

若想知道更多的單字,請到「GLOBISH 單字」區查看





光陰似箭,轉眼就是民國102年。
小弟在此,向各位拜一個2013年的早年。

 
太陽能量
 
氫原子重量比值1.00728
 
二氫原子融合,成為1質子,1中子,稱為重氫
重量比值為2.01355,重量減少0.00155,產生能量2.31x10-13焦耳
 
重氫再與1氫原子融合,成為2質子,1中子,稱為氦3
重量比值為3.01493,重量減少0.00590,產生能量8.79x10-13焦耳
 
2個氦3原子與2個氦3原子融合,成為2質子,2中子,稱為氦4
重量比值為4.00151,重量減少0.01381,產生能量6.02x10-12焦耳
 
太陽半徑:69萬6千公里,半徑比地球大109倍
1光年為9,467,000,000,000公里
地球與太陽的平均距離為1.496億公里,稱為1 A.U.
水星在0.2 A.U.,金星在0.7 A.U.,地球在1 A.U.,火星在1.5 A.U.,木星在5 A.U.,土星在10 A.U.,天王星在20 A.U.,海王星在30 A.U.,冥王星在40 A.U.
太陽系的範圍可達50,000 A.U.
太陽的光到達地球需500秒,等於8.33分。
 
秒差距(長度單位),縮寫為pc。
圓弧長為1 A.U.,圓心夾角為1秒,夾角的單邊長(半徑)稱為秒差距。
弧長公式:弧長=夾角(弳度) x半徑
A.U.=1秒角x秒差距
秒差距= A.U./1秒角
因1個全圓的弳度為2Pi,現只取1秒的角度,即1/(360x60x60)
秒差距= A.U./2Pi/(360x60x60)
1pc = 206,265 AU = 3.08568×1016 m = 3.2616 光年。
 
科佛擺的原理解釋在網路上是愈看愈迷糊,不如本人自己來解釋。
 
科佛擺會因為地球由西向東自轉而行成由一個平面變成兩個平面,其中一個平面當做參考面,會保持原有的擺動平面的固定位置,叧一平面會隨著地球的轉動而轉動。因地球重力之故,二平面皆需通過地心,二平面在地球由西向東轉動之後會形成傾斜面。移動的那一個平面為了保持與固定平面雖傾斜,但保持兩平面上的各兩同緯度的水平線平行,在北半球非赤道地方,移動面勢必以地心為軸向右順時針轉動。在北極地區轉動最大,在赤道地區轉動為0。
 
以上為本人在2010年聖誕節早上想出,保留本人解釋的智慧財產權。
 
科佛擺每小時的轉動角度為:
θ=15°sin(當地緯度)





                 

               2010
年維也納新年音樂會節目單
                     (本人開車常聼之名曲)
 
1.      
1.         Johann Strauß II, 1825-1899【約翰•史特勞斯】Ouvertüre zur "Fledermaus", "The Bat",【“蝙蝠序曲”】
2.         Josef Strauß:1827-1870【約瑟夫•史特勞斯】"Frauenherz", Polka mazurka op. 166, " A Woman's Heart",【“女人心” 波卡舞曲】,是為妻子凱羅蘭而寫。
3.         Johann Strauß II【約翰•史特勞斯】 "Im, Krapfenwald", französische Polka op.336 【“在卡拉普芬森林裡”,法國波卡舞曲】,在聖彼德堡所寫,指定要有鳥叫聲。
4.         "Stürmisch in Lieb' und Tanz", schnelle Polka op. 393, " Stormy in Love and Dance",【愛情與舞蹈的風暴快速波卡舞曲】,來自於輕歌劇「皇后的蕾絲手帕」。
5.         "Wein, Weib und Gesang!" op. 333,  "Wine, Women and Song",【”醇酒、美女與歌聲圓舞曲“】
6.         "Perpetuum Mobile" op. 257 【“無窮動”】
                 
下       
下      
下半場:

 
7.          Otto Nicolai: 1810-1849,【奧拓•尼可萊】,2010是其200年生日紀念,維也納愛樂創建人之一,   Ouvertüre zu "Die lustigen Weiber von Windsor",【溫莎的風流娘兒們-序曲】,來自於其輕歌劇風流寡婦序曲。
8.         Johann Strauß:【約翰•史特勞斯】 "Wiener Bonbons", Walzer op. 307 【“維也納的軟糖”】
9.         .Johann Strauß II【 約翰•史特勞斯】 ,"Champagne Polka" 【香檳波卡舞曲】,曲中有開香檳的聲音。
10.     Johann Strauß II【 约翰•史特勞斯】 "Ein Herz, ein Sinn", Polka mazurka op. 323 One Heart, One Mind【”一心一意“ 波卡舞曲(瑪祖卡風格)】
11.     Johann Strauß I, 1804-1849,."Der Karneval in Paris, " The Carvinal in Paris",【巴黎狂歡節】,在1864年為維也納新年音樂會所寫。
12.      Jacques Offenbach,: 1819-1880 【雅克•奧芬巴赫】   Ouvertüre zu "Die Feen vom Rhein", " The Rhine Fairies",【萊茵河仙女】,內有其著名的「船歌」旋律,電影美麗人生亦用於配樂。
13.     Eduard Strauß: 1835-1916【愛德華•史特勞斯】   "Die schöne Helena", Quadrille, "Helen Quadrille",【“美麗的海倫”,方舞舞曲】
14.     Johann Strauß II【 約翰•史特勞斯】    "Morgenblätter", Walzer op. 279 "Morning Paper",【晨報圓舞曲】
15.     Hans Christian Lumbye 1810-1874,北國的史特勞斯,丹麥作曲家蘭比:"Champagner Polka" op. 211, "Champagne Galop", 【香檳快步舞】,2010是其200年生日紀念,此曲為維也納愛樂首演。

 
安可曲:
 
16.     Johann Strauß II【 約翰•史特勞斯】 ,"Off to the Hunt", 狩獵波卡
17.     "Blaue Donau", Walzer op. 314 【藍色多瑙河】 (每年必演奏,曲長約11分鐘,小史特勞斯的名曲)
18.     "Radetzky Marsch" op. 228 【拉德斯基進行曲】 (每年必演奏,觀眾必需拍手打節拍加入,否則不禮貌,大史特勞斯的名曲  )
 
  
 
 
  





真善美拍攝各場景地點(Sound of Music)
    (本人的個人研究)
 
真善美第一首歌(The hills are alive with the sound of music.)拍攝場景位置是在:47°41'17.70"N, 13° 3'50.92"E ,位於德奧邊境上的德國境內的山坡草地上(Bavarian alpine meadow)。有人稱該草地為:Maria's Hill,Maria's Mountain,也有人稱該草地為:Julie's Meadow ,Maria是電影中女主角的稱呼,而 Julie是女主角的本名。。該地交通不便,聴說拍攝時,人員等都是由直昇機載過去的,劇組人員上山也是坐小車,這在藍光影碟第二片中均有介紹畫面,大型遊覽車想上山看景,恐有困難,因為山地間高低落差好像很大,中巴、小車或有可能。該地是大約位於奧地利Salzburg鎮南方約13公里的地方,該草地是屬私人財產,草地因為山上多雨,是呈現泥濘狀。拍攝時,有的鏡頭拍攝是放在牛車上,由牛來拖,女主角有一次上山,也是坐該牛車上山。
 
將上述之GPS座標複製下來,貼到Google Earth的搜尋欄位內搜尋,即可立即找到該地。
 
 
如何到Maria's Hill?
由網路上的高人指點,在Salzburg走150號公路向東,沿河西岸前行,公路之後會轉向南方。穿過A10高速公路,公路編變成160號。在德國境內公路編變成305號。之後公路會進入山谷地形,右手邊的山會比較高,此山即為片中逃難到山上的背景山(觀光景點),而左手邊的山比較低,其中的山丘之一即為拍片的第一場景,Maria's Hill。由Salzburg走約14公里會到Marktschellenberg小鎮。在Marktschellenberg小鎮,一過橋之後就走第一個左邊的路,(或為經過教堂之後),再沿路邊的路牌指引,經過小森林及一堆岔路,便可爬山約四公里到達Mellweg山丘。若看到路左邊有一藍色路牌,寫Mehlweg 1,3,5,7,就轉進該路,可到山丘上的三間小屋及一農舍。停車在農舍的右手邊空地。該空地的向西面約170公尺遠的草地即為片中之場景。該地由藍光片中說明,是屬私人用地。
 
 
 
這一首歌的攝製,本計劃由1964年6月4日拍到1964年8月5日,但因為了加拍女主角圍繞幾棵樹木唱歌的外景,及拍劇組人員用塑膠布做的假小溪讓女主角邊唱歌邊丟小石頭,劇組人員又在9月間上山加拍。假小溪的塑膠布在第二天,劇組人員上山就發現被農場主人用農耙尖端弄破,讓水流走,所以劇組人員只好又重做一個假小溪。第一首歌的首尾部分共差了三個月。
三個山上外景都是在6月4日及6月5日拍完。Maria's Mountain場景第一部分是在6月4日星期四下午拍的,是用直昇機空拍女主角在大草坪上高歌的第一個畫面,共拍了約9次。當天又到ROSSFELD拍逃到山上的部分。7位小朋友在6月5日拍完就回Salzburg鎮了,7位小朋友在7月初才回到洛杉磯續拍其他場景。其中二個外景場景,一個是在該景點更南方一點的ROSSFELD及叧一個離Salzburg鎮南方約38公里的其他地方拍攝。山上很泠及多雨,聴說該地多半是三天晴天,三天雨天。莫札特早死的原因之一,可能就是奧地利陰天雨天太多,造成太陽矖的太少。電影中山區的場景好像都是睛天,實際都是在拍攝過程中遇雨就停拍多次。
 
該草原應是非常有名,因為真善美影片的廣告幾乎都是女主角站在那草原高歌。背後是藍色的阿爾卑斯山,加上山上殘雪及晴天、雲景。
 
在藍光影碟第二片,女主角對該場景的描述:Vintage Pogram, The Sound of Music: From Fact to Phenomenon. 搜尋點57分49秒。
 
可利用Google Earth,因該地Google Earth已有3D地形處理,可用電腦重現該地拍攝時直昇機的攝影角度。3D的山景相當的壯觀,雖然不能前去,但可用電腦的方式賞景,每天都是晴天,也是不錯的選擇。該草原的左側,好像有人建了小路及民房,草原附近好像有不少的民宿,好像還有人留了連絡方式。
 
德國與奧地利本都是德國血統,當初奧地利還統一德國。
 
影片中,野餐玩球及唱Do-Re-Mi的草原: (距離Salzburg鎮南方約38公里,在奧地利境內。)
位置: 47°28'20.15"N 13°10'59.09"E  (Picnic) (Werfen)
在草原邊可見突起山丘上的一棟古堡:
位置:47°28'59.08"N 13°11'18.01"E (Festung Hohenwerfen堡)
該野餐點已被山路破壞,藍光影碟中,有對照圖片可證。

影片快結束時,主角一家人逃往山上:  (距離Salzburg鎮南方約21公里,在德國境內。)
位置: 47°37'9.61"N 13° 5'3.24"E (Mountain Escape)
此景結束,電影也結束了。

真善美拍攝各場景地點:
The Sound of Music Tour Locations
 
Map of Salzburg Shows You Each Sound of Music Movie Location...
http://www.the-sound-of-music-guide.com/map-of-salzburg.html
http://www.the-sound-of-music-guide.com/tour-locations.html
 
女主角的網站:
Julie Andrews Sound of Music Superstar 
http://www.the-sound-of-music-guide.com/julie-andrews-sound-of-music.html

購買Sound of Music要買藍光的版本,選45年紀念版,該片畫質非常好,是經過電腦後製過的,畫質跟新上市的藍光電影所差無幾,例如MaMaMia、007、舞孃俱樂部、黑天鵝電影等。原版的電影因年代已久,畫質早已受損。不過家中没有藍光播放機及電視螢幕不支援藍光播放的,就要考慮一下了。
 

 


關於我 About Me


歷程檔案 Portfolio

中華科技大學數位化學習歷程 - 意見反應