面向物件編程介紹
想一想
請用程式描述如下事情:
- A同學報道登記資訊
- B同學報道登記資訊
- C同學報道登記資訊
- A同學做自我介紹
- B同學做自我介紹
- C同學做自我介紹
stu_a = {
"name":"A",
"age":21,
"gender":1,
"hometown":"河北"
}
stu_b = {
"name":"B",
"age":22,
"gender":0,
"hometown":"山東"
}
stu_c = {
"name":"C",
"age":20,
"gender":1,
"hometown":"安徽"
}
def stu_intro(stu):
"""自我介紹"""
for key, value in stu.items():
print("key=%s, value=https://www.cnblogs.com/liangdian/p/%d"%(key,value))
stu_intro(stu_a)
stu_intro(stu_b)
stu_intro(stu_c)
考慮現實生活中,我們的思維方式是放在學生這個個人上,是學生做了自我介紹,而不是像我們剛剛寫出的代碼,先有了介紹的行為,再去看介紹了誰,
用我們的現實思維方式該怎么用程式表達呢?
stu_a = Student(個人資訊)
stu_b = Student(個人資訊)
stu_c = Student(個人資訊)
stu_a.intro()
stu_b.intro()
stu_c.intro()
- 面向程序:根據業務邏輯從上到下寫代碼
- 面向物件:將資料與函式系結到一起,進行封裝,這樣能夠更快速的開發程式,減少了重復代碼的重寫程序
面向程序編程最易被初學者接受,其往往用一長段代碼來實作指定功能,開發程序的思路是將資料與函式按照執行的邏輯順序組織在一起,資料與函式分開考慮,
今天我們來學習一種新的編程方式:面向物件編程(Object Oriented Programming,OOP,面向物件程式設計)
-
1)解決菜鳥買電腦的故事
第一種方式:
1)在網上查找資料
2)根據自己預算和需求定電腦的型號 MacBook 15 頂配 1W8
3)去市場找到蘋果店各種店無法甄別真偽 隨便找了一家
4)找到業務員,業務員推薦了另外一款 配置更高價格便宜,也是蘋果系統的 1W
5)砍價30分鐘 付款9999
6)成交
回去之后發現各種問題
第二種方式 :
1)找一個靠譜的電腦高手
2)給錢交易
-
面向物件和面向程序都是解決問題的一種思路而已
-
買電腦的第一種方式:
- 強調的是步驟、程序、每一步都是自己親自去實作的
- 這種解決問題的思路我們就叫做面向程序
-
買電腦的第二種方式:
- 強調的是電腦高手, 電腦高手是處理這件事的主角,對我們而言,我們并不必親自實作整個步驟只需要呼叫電腦高手就可以解決問題
- 這種解決問題的思路就 是面向物件
-
用面向物件的思維解決問題的重點
- 當遇到一個需求的時候不用自己去實作,如果自己一步步實作那就是面向程序
- 應該找一個專門做這個事的人來做
- 面向物件是基于面向程序的
-
-
2)解決吃啤酒鴨的問題
第一種方式(面向程序):
1)養鴨子
2)鴨子長成
3)殺
4)作料
5)烹飪
6)吃
7)卒
第二種方式(面向物件):
1)找個賣啤酒鴨的人
2)給錢 交易
3)吃
4)胖6斤
需要了解的定義性文字:
面向物件(object-oriented ;簡稱: OO) 至今還沒有統一的概念 我這里把它定義為: 按人們 認識客觀世界的系統思維方式,采用基于物件(物體) 的概念建立模型,模擬客觀世界分析、設 計、實作軟體的辦法,
面向物件編程(Object Oriented Programming-OOP) 是一種解決軟體復用的設計和編程方法, 這種方法把軟體系統中相近相似的操作邏輯和操作 應用資料、狀態,以類的型式描述出來,以物件實體的形式在軟體系統中復用,以達到提高軟體開發效率的作用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/35177.html
標籤:Python
上一篇:Python 實作 tcp 網路程式,發送、接收資料
下一篇:面向物件-定義類
