104學習精靈

OOP

OOP
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
OOP(Object-oriented programming, OOP)物件導向程式設計,指一種程式設計典範,同時也是一種程式開發的方法論。它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性、靈活性和擴充套件性。 物件導向程式設計的雛形,早在1960年的Simula語言中即可發現,當時的程式設計領域正面臨著一種危機:在軟硬體環境逐漸複雜的情況下,軟體如何得到良好的維護?物件導向程式設計在某種程度上透過強調可重複性解決了這一問題。20世紀70年代的Smalltalk語言在物件導向方面堪稱經典——以至於30年後的今天依然將這一語言視為物件導向語言的基礎。 物件導向程式設計可以被視作一種在程式中包含各種獨立而又互相呼叫的單位和物件的思想,這與傳統的思想剛好相反:傳統的程式設計主張將程式看作一系列函式的集合,或者直接就是一系列對電腦下達的指令。物件導向程式設計中的每一個物件都應該能夠接受資料、處理資料並將資料傳達給其它物件,因此它們都可以被看作一個小型的「機器」,或者說是負有責任的角色。 目前已經被證實的是,物件導向程式設計推廣了程式的靈活性和可維護性,並且在大型專案設計中廣為應用。此外,支援者聲稱物件導向程式設計要比以往的做法更加便於學習,因為它能夠讓人們更簡單地設計並維護程式,使得程式更加便於分析、設計、理解。反對者在某些領域對此予以否認。
關於教室
關注人數 10 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 10 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

OOP 學習推薦

全部
影片
文章

不知如何開始嗎? 先進行技能挑戰吧~

技能挑戰:初級
目前等級:未達初級
362 人已通過「初級」測驗,通過率84%,和學習精靈一起探索知識、增強能力!
我要挑戰
蒲朝棟

總務主管 | 104Giver職涯引導師 第00320231001

10/02 15:30

別再當職場小綿羊!揭秘如何打造「鐵壁」般的工作安全感
在這個瞬息萬變的職場世界裡,你是否常常感到惶恐不安?擔心自己哪天可能會被裁員、被淘汰?這種不安全感就像是一隻無形的大手,緊緊抓住我們的心,讓我們無法安心工作,也無法好好生活。但是,各位夥伴們,今天我們要來聊聊:工作的安定感,其實是可以靠自己來創造的!
讓我們先來看看小明的故事。
小明是一家科技公司的程式設計師,在公司已經待了五年。他的工作表現一直都很穩定,主管和同事也都挺喜歡他。但是最近,公司開始有了一些變動。新的技術不斷湧現,公司也開始引進一些年輕的新血。小明開始感到不安,他害怕自己的技能會被淘汰,擔心哪天公司可能會裁員。
每天上班,小明都戰戰兢兢的,深怕自己哪裡做得不夠好。他開始變得很敏感,同事間的一個眼神、一句話,都可能讓他胡思亂想一整天。晚上回到家,他也無法好好休息,腦子裡總是盤旋著各種可怕的情境。
這樣的日子過了一段時間,小明覺得自己快要崩潰了。他決定找他的好友阿華聊聊。阿華也是一名程式設計師,但是他總是給人一種從容不迫的感覺。
小明忍不住問:「阿華,你難道不擔心自己的工作會不保嗎?現在科技發展這麼快,我們的技能說不定哪天就過時了耶!」
阿華笑了笑,說:「當然會擔心啊,但是與其整天提心吊膽,不如想辦法增加自己的價值。」
小明一臉困惑:「增加自己的價值?怎麼增加?」
阿華耐心地解釋:「你看啊,工作的安定感,其實是來自於我們對自己能力的信心。如果我們能夠不斷學習新技能,保持自己的競爭力,那麼即使公司真的要裁員,我們也不用太擔心。因為我們隨時都有能力找到新的工作。」
小明若有所思地點點頭。
阿華接著分享了他的心得:「我的做法是這樣的。首先,我會定期關注業界的最新趨勢,了解市場上最熱門的技能是什麼。然後,我會利用下班時間或週末,自學這些新技能。」
「其次,我會主動接手一些挑戰性高的項目。這不僅能讓我學到新東西,還能讓公司看到我的價值。」
「再來,我會積極參與一些業界的交流活動,擴展人脈。你永遠不知道,什麼時候這些人脈會派上用場。」
「還有,我會定期整理自己的成果,更新履歷表。這樣做不僅能讓我隨時準備好找新工作,更重要的是,它能讓我清楚看到自己的進步,增加自信。」
「最後,我會培養一些工作以外的興趣和技能。這樣即使真的失業了,我也有其他的出路。」
小明聽完,恍然大悟:「原來是這樣啊!我一直以為只要做好分內的事就夠了,沒想到還有這麼多可以做的。」
阿華拍拍小明的肩膀:「沒錯,工作的安定感,真的要靠自己去創造。當你覺得自己隨時都可以找到新工作時,你就不會那麼害怕失去現在的工作了。」
從那天起,小明開始改變自己的心態和行動。他開始利用下班時間學習新的程式語言,主動接手一些具有挑戰性的專案。他還參加了幾個業界的研討會,認識了不少新朋友。
漸漸地,小明發現自己的能力真的提升了不少。他不再那麼害怕公司的變動,反而開始期待新的挑戰。更重要的是,他的主管也注意到了他的改變,給了他更多重要的任務。
半年後,公司果真進行了一次小規模的裁員。但是這次,小明並沒有感到恐慌。因為他知道,即使真的被裁員,他也有能力很快找到新的工作。而事實證明,公司也捨不得裁掉像小明這樣積極上進的員工。
小明的故事告訴我們,工作的安定感,真的是要靠自己去創造的。在這個瞬息萬變的時代,我們不能總是依賴公司來給我們安全感。相反的,我們應該不斷提升自己,讓自己成為「不可或缺」的人才。
以下是幾個小撇步,讓我們一起來打造屬於自己的工作安全感吧:
1. 持續學習:隨時關注業界趨勢,學習新技能。記住,活到老,學到老!
2. 拓展人脈:多參與業界活動,認識新朋友。你永遠不知道,誰會成為你未來的貴人。
3. 展現價值:主動接手挑戰性高的工作,讓公司看到你的潛力和價值。
4. 建立個人品牌:整理並展示你的專業成果,讓人一看就知道你的實力。
5. 培養多元興趣:除了工作技能,也要發展其他興趣。這不僅能讓生活更加豐富,也能成為你的第二專長。
記住,真正的工作安全感,不是來自於一份穩定的工作,而是來自於你隨時都能找到工作的能力。當你對自己的能力有信心時,你就不會害怕失去現在的工作,因為你知道,機會永遠是留給準備好的人。
所以,親愛的各位,與其整天擔心工作不保,不如花時間好好充實自己。讓我們一起努力,成為職場上的「鐵壁」,打造屬於自己的安全感吧!無論外在環境如何變化,只要我們不斷進步,就永遠立於不敗之地。加油,你一定行的!
0 0 1202 0
Mike Ku

Learn Code With Mike品牌創辦人

2021/10/22

Python封裝(Encapsulation)實用教學
Q:什麼是Python封裝(Encapsulation)
封裝(Encapsulation)的概念就有點像權限控制,有些屬性(Attribute)或方法(Method)只想於類別內部使用,而不想公開於外部,除了減少程式碼因來源端不適當的使用發生問題外,也可保護其中重要的商業邏輯。
一般情況下,來源端皆可存取類別中公開的屬性(Attribute)及方法(Method),如下範例:
# 部落格類別
class Blog:
def __init__(self):
self.author = "Mike" # 作者屬性
self.titles = [] # 文章標題屬性
def add_post(self, title): # 新增文章
self.titles.append(title)
blog = Blog()
blog.add_post("Python Programming")
blog.add_post("Learn How to Code")
print("Author: ", blog.author)
print("Blog Titles: ", blog.titles)
如果我們要防止來源端存取作者屬性(Attribute)及呼叫新增文章標題方法(Method),則需透過封裝(Encapsulation)的概念來進行設計。接下來就分別說明如何封裝(Encapsulation)類別中的屬性(Attribute)及方法(Method)。
Q:什麼是私有屬性(Private Attribute)?
在類別(Class)中可以進行存取,而外部無法存取的屬性(Attribute)。使用方式就是在私有屬性(Private Attribute)前加上兩個底線(__),如下範例:
# 部落格類別
class Blog:
def __init__(self):
self.__author = "Mike" # 作者屬性
self.__titles = [] # 文章標題屬性
def __add_post(self, title): # 新增文章
self.__titles.append(title)
blog = Blog()
print(blog.__author)
從範例中可以看到,來源端無法存取到類別中的author及titles私有屬性(Private Attribute)。如果是利用Visual Studio Code來開發Python的話,在來源端物件的IntelliSense清單中就選不到私有屬性(Private Attribute),證明成功將其進行封裝(Encapsulation)。
但是Python不像其他物件導向程式語言真的把屬性(Attribute)或方法(Method)變為私有,事實上來源端還是可以存取得到。Python事實上把加了兩個底線的私有屬性(Private Attribute)重新命名,在前面加上了底線類別名稱,來源端只要透過此名稱還是可以進行存取,如下範例:
blog = Blog()
print(blog._Blog__author) #執行結果為:Mike
所以在類別中的屬性(Attribute)或方法(Method)加上兩個底線(__)主要是告訴來源端此屬性(Attribute)或方法(Method)為私有,避免來源端直接或意外的存取。
Q:什麼是私有方法(Private Method)?
在類別(Class)中可以進行存取,而外部無法存取的方法(Method)。和私有屬性(Private Attribute)作法相同,在私有方法(Private Method)前面加上兩個底線(__),如下範例:
# 部落格類別
class Blog:
def __init__(self):
self.__author = "Mike" # 作者屬性
self.__titles = [] # 文章標題屬性
def __add_post(self, title): # 新增文章
self.__titles.append(title)
blog = Blog()
blog.__add_post("Python tutorials")
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/01/python-encapsulation.html )網站觀看更多精彩內容。
0 0 1644 0

推薦給你

知識貓星球

喵星人

12/12 13:49

Google發表:Gemini 2.0 全新AI模組介紹、四大亮點一次看
在ChatGPT傳出全球大當機災情的同一天,Google 發布了全新 AI 模型 Gemini 2.0。
不僅支援多模態物件,Gemini 2.0採用更精準、強大的代理式AI系統,幫助使用者主動提前思考並完善指令,打造更符合使用者需求的全方位AI人工智慧助理!
▍Gemini 2.0 亮點搶先看
※ 深度學習有效處理複雜問題:採用「深度研究」學習技術功能,大量運用高級推理和長上下文功能充當研究助理,探索複雜的主題並代表使用者編寫報告。
※ 多模態能力生成準確內容: 除了文字生成外,Gemini 2.0 還能直接生成圖片和音訊,並且能有效處理口音問題轉化成更準確的訊息內容。
※ 實現代理式 AI 的多元運用: 不只是AI助理,Gemini 2.0升級的代理式AI系統,能更主動的做出決策,為使用者提前思考,並在使用者的監督下執行任務。Gemini 2.0將以此為基石,使用在Project Astra助理工具與其他開發者工具中。
※ 活化並整合 Google 產品: Gemini 2.0 將逐步整合到 Google 的搜尋、地圖等產品中,為使用者帶來更智能、更個人化的體驗。
Gemini 2.0預計2025年1月正式推出,在此之前,使用者們可以透過Google AI Studio網站搶先體驗Gemini 2.0測試版的與眾不同。
➤ 立即試用:
➤ 歡迎在104學習精靈關注【AI趨勢報-科技愛好者的產地】獲得更多科技新知!
0 0 1950 1
你可能感興趣的教室