目錄
二、物件導向程式設計
面向過程程式設計的核心是過程二字,過程指的是解決問題的步驟,即先幹什麼再幹什麼然後幹什麼.......
基於面向過程程式設計的思想編寫程式好比在設計一條流水線,是一種機械式的思維方式。
物件導向程式設計的核心是物件二字,物件是特徵與技能的結合體。
基於物件導向程式設計的思想編寫程式,就好比是在創造乙個世界,你就是這個世界的上帝,是一種上帝式的思維方式。
現實世界生活中:先有物件再有類;python程式中先有類再有物件
先從物件自身的命名空間找,沒有就去類中找,類中也沒有就報錯
繫結方法就是定義在類內部的方法
如果類來呼叫:該方法就是乙個普通函式,有幾個引數就需要傳幾個引數
如果物件來呼叫:它就叫物件的繫結方法,第乙個引數不需要傳,自動傳遞,自動把物件傳過來,在方法內部就可以修改該物件
class student:
#變數表示屬性
school='oldboy'
#__init__ 看好名字,不是__int__
def __init__(x,name):
x.name=name
def choose(self):
print("選課....")
def study(self):
print('%s學會了python'%self.name)
stu1=student('nick') # 給物件stu1放屬性,name是nick
stu1.study() # 物件呼叫繫結方法第乙個引數不需要傳,自動傳遞 列印nick學會了python
stu1=student('李鐵蛋')
stu1.study() # 列印 李鐵蛋學會了python
python中,字典、列表、字串...都是物件
類即型別
#類例項化產生物件
ll=list([1,2,3]) #這裡list就是乙個類,呼叫就生成乙個物件l1
l2=list([5,7,8]) #呼叫類list生成乙個物件l2
#物件呼叫物件的繫結方法,修改物件自己
print(ll) # [1, 2, 3, 5]
print(ll) # [1, 2, 3, 5, 9]
# 定義狗類
class dog:
type_dog = '藏獒'
def __init__(self,name,attack,hp=100): # 給物件放屬性:姓名,攻擊力,血量
self.name = name
self.attack = attack
self.hp = hp
def bite(self,enemy): # 繫結方法,咬的方法,給定引數,自身和敵人
enemy.hp -= self.attack
print(f'''
狗的品種:
咬了一口
掉血:剩餘血量:
''')
# 定義人類
class human:
def __init__(self,name,attack,hp=300):
self.name = name
self.attack = attack
self.hp = hp
def hit(self,enemy):
enemy.hp -= self.attack
print(f"""
擊打了一下
掉血:剩餘血量:
""")
dog1 = dog('來福',10,200) # 生成乙個狗類的物件來福
human1 = human('奧特曼',20,500) # 生成乙個人類物件奧特曼
dog1.bite(human1) # 呼叫dog1繫結方法,
human1.hit(dog1) # 呼叫human1繫結方法
物件導向基礎(一)
1.什麼是物件導向 2.應該如何學習物件導向 3.物件導向的思維方式 1.什麼是物件導向 1 物件導向是一種程式設計方法 2 物件導向是一種思維方式 3 物件導向不是一種程式語言 2.應該如何學習物件導向 1 掌握一門物件導向語言的語法 2 掌握物件導向的思維方式 c語言 面向過程,模擬cpu執行指...
python物件導向(一) 物件導向基礎
物件導向是python中乙個重點知識,用物件導向的思想程式設計,有利於模組化 方便閱讀和後期的維護。面向過程 注重解決問題的步驟,讓問題根據步驟流程一步一步得到解決 物件導向 萬物皆物件,每個物件都有特徵和功能,物件間又可以相互作用 類 具有相同特徵或行為的事物的統稱 抽象的,不可直接使用 物件 物...
物件導向基礎之一
記錄一些基礎知識,以備後查。1.類與例項 物件是乙個自包含的實體,用一組可識別的特性和行為來標識。object oriented programming。類就是具有相同的屬性和功能的物件的抽象的集合。class是表示定義類的關鍵字。第一,類名稱首字母要大寫。第二,對外公開的方法需要用public修飾...