物件導向(Object Oriented Programming)概念| by Po-Ching Liu
文章推薦指數: 80 %
即是將物件內部的資料隱藏起來,只能透過物件本身所提供的介面(interface)取得物件內部屬性或者方法,物件內部的細節資料或者邏輯則隱藏起來,其他物件即無法瞭解此物件的 ...
GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWrite物件導向(ObjectOrientedProgramming)概念基本概念(類別、物件)類別(Class)在程式語言中,類別定義一件事物的抽象特點。
類別的定義包含了資料的形式(屬性,Field)以及對資料的操作(方法,Method)。
我們也可以想像成類別是汽車的設計藍圖(blueprint),其中我們可以在這張藍圖定義抽象的內容(也就是屬性、方法),例如汽車的廠牌、汽車的車名以及馬力和取得汽車資訊等。
物件(Object)物件也就是類別的實例,也就是說有了類別這張藍圖我們可以在程式中產生許多汽車類別的資料,而這些資料彼此之間不互相影響,每一個皆是獨立的。
三大特性(封裝、繼承、多型)封裝(Encapsulation)即是將物件內部的資料隱藏起來,只能透過物件本身所提供的介面(interface)取得物件內部屬性或者方法,物件內部的細節資料或者邏輯則隱藏起來,其他物件即無法瞭解此物件的內部細節,若不經過允許之窗口(即此物件提供之方法)便無從更動此物件內之資料。
簡白的說,對一件事情只需要理解他的外在就好,不需要了解裡面內部的構造。
例如:由先前的例子,我們可以透過getInformation()取得車子資訊,然而我們並不需要知道他是如何取得資訊的。
繼承(Inheritance)在某種情況下,一個類別會有「子類別」。
子類別比原本的類別(稱為父類別)要更加具體化,也就是說子類別繼承了父類別。
例如:計程車(子類別)繼承了汽車(父類別)原有的屬性以及方法,也新增了自己特有的屬性(driverName)。
多型(Polymorphism)簡單來說就是相同名稱的方法(Method),多個相同名稱的方法,傳入不同的參數,會執行不同的敘述。
多型(Polymorphism)則包含多載(Overloading)和複寫(Overriding)。
多載(Overloading)—是指說在相同類別中,定義名稱相同,但是參數個數不同,或是參數型態不同的函式,這樣就可以利用參數個數或者參數型態,呼叫到對應的方法。
例如:一個計算面積的方法,如果傳入一個參數,就當正方形來算面積;傳入兩個參數,就當成長方形來算面積。
複寫(Overriding)—是指覆寫掉父類別中的函式。
例如:動物類別(父類別)getLegs()方法被鳥類別(子類別)覆蓋。
MorefromPo-ChingLiuFollowSeniorsoftwareengineer!Linkedin:https://www.linkedin.com/in/benjaminliu0131/Github:https://github.com/totoroliu0131?tab=repositoriesLovepodcastsoraudiobooks?Learnonthegowithournewapp.TryKnowableAboutHelpTermsPrivacyGettheMediumappGetstartedPo-ChingLiu519FollowersSeniorsoftwareengineer!Linkedin:https://www.linkedin.com/in/benjaminliu0131/Github:https://github.com/totoroliu0131?tab=repositoriesFollowHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable
延伸文章資訊
- 1物件導向是啥| 學呀- 程式概論| object、class
物件導向(object-oriented programming),就是把大部分程式內的東西都變成以物件的方式呈現。在這個程式中,物件與物件之間互相區別,但又藉由程式碼互相呼應。
- 2什麼是物件導向程式設計(Object-oriented programming)
根據MDN 的解釋,物件導向程式設計的基本概念是「透過物件(object) 來模擬真實世界的事物」,並提供方法來操作它。 物件本身包含了「資料」和「方法」, ...
- 3物件導向程式設計(C#) - Microsoft Learn
C# 提供物件導向程式設計的完整支援,包括抽象、封裝、繼承和多型。
- 4物件導向程式設計
物件導向程式設計. Object Oriented Programming. 本章重點. ✪ 5-1 何謂物件(Object)? ✪ 5-2 類別的設計(Class Implement). ✪ ...
- 5物件導向程式設計 - 維基百科- Wikipedia
物件導向程式設計(英語:Object-oriented programming,縮寫:OOP)是種具有物件概念的程式設計典範,同時也是一種程式開發的抽象方針。它可能包含資料、特性、程式碼 ...