Python 物件導向程式設計概述

2021-10-12 01:53:56 字數 3081 閱讀 2768

物件導向程式設計簡稱oop(object oriented programming),是一種程式設計方式,需要使用『物件』來實現。

世界萬物皆物件,某個具體的領域也是由物件組成的

例如:在學校領域,物件包括學生、教師、課程、教室和成績單等;

在銀行領域,物件包括銀行賬戶、出納員、支票、現金和驗鈔機等

因此,問題領域中的概念和實體都可以被抽象為物件。

每個物件都是唯一的

物件的唯一性來自於真實世界中事務的唯一性。

世界上不存在兩片一模一樣的葉子,因此在軟體系統中的物件也具有唯一性。

例如:學習領域的學生小張、學生小王、小張的成績單和小王的成績單,都是唯一的。

物件具有屬性和行為

例如:小王,性別男,年齡18,身高1.8公尺,體重70kg,能夠學習、唱歌和打桌球。

再例如:一部手機,品牌有蘋果,**是6000元,黑色 ,能夠拍照、打**和收發短袖。這部手機的屬性包括品牌、**和顏色,行為包括拍照、打**和手法簡訊。

物件具有狀態

狀態是指某個瞬間物件的各個屬性的取值。

物件的某些行為往往會改變物件自身的狀態,即屬性的取值。

例如:小王的體重本來為80kg,經過**後,體重變為70kg

物件分為類物件和例項物件兩大類

類物件是具有相同屬性和行為的例項物件的抽象

類物件就是例項物件的模板,例項物件是由類物件建立出來的

此外,同乙個類物件的例項物件,如果擁有相同的屬性,表面他們的屬性的含義是相同,但是他們的狀態不一定相同,也就是說屬性的取值不一定相同。例如:學生小張,小王和小李,都有姓名、性別、年齡、身高和體重這些屬性,但是他們的屬性的取值是不同的。

抽象出類物件

抽象出類物件的屬性

self.breed = breed # 品種

self.name = name # 暱稱

self.age = age # 年齡

self.health = health # 健康狀況

抽象出類物件的行為(方法)

self.breed = breed # 品種

self.name = name # 暱稱

self.age = age # 年齡

self.health = health # 健康狀況

# 跑def run(self):

print("dog is running")

# 吠def bark(self):

print("dog is barking")

# 咬def bite(self):

print("dog is biting")

根據類物件建立例項物件

class dog(object):

def __init__(self, breed, name, age, health):

self.breed = breed # 品種

self.name = name # 暱稱

self.age = age # 年齡

self.health = health # 健康狀況

# 跑def run(self):

print("dog is running")

# 吠def bark(self):

print("dog is barking")

# 咬def bite(self):

print("dog is biting")

dog = dog("拉布拉多","旺財", 3, "很好")

通過例項物件訪問屬性和方法

class dog(object):

def __init__(self, breed, name, age, health):

self.breed = breed # 品種

self.name = name # 暱稱

self.age = age # 年齡

self.health = health # 健康狀況

# 跑def run(self):

print("dog is running")

# 吠def bark(self):

print("dog is barking")

# 咬def bite(self):

print("dog is biting")

dog = dog("拉布拉多","旺財", 3, "很好")

print(dog.breed)

print(dog.name)

print(dog.age)

print(dog.health)

dog.run()

dog.bark()

dog.bite()

物件導向程式設計概述

1 物件導向程式設計的關鍵思想是多型性 polymorphism。在 c 中,多型性僅用於通過繼承而相關聯的型別的引用或指標。2 我們經常稱因繼承而相關聯的類為構成了乙個繼承層次。其中有乙個類稱為根,所以其他類直接或間接繼承根類。在 c 中,基類必須指出希望派生類重寫哪些函式,定義為 virtual...

python 物件導向程式設計

新式類 class mynewobjecttype bases define mynewobjecttype class class suite經典類 沒有指定乙個父類,或者子類化的基本類沒有父類,就建立了乙個經典類 class mynewobjecttype define mynewobjectt...

Python物件導向程式設計

class mynewobjecttype bases define mynewobjecttype class class suite例項化 myfirstobject mynewobjecttype class mydatawithmethod object defprintfoo self p...