日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

day22_面向对象

發布時間:2023/11/27 生活经验 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 day22_面向对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

面向過程:

優點是:極大的降低了寫程序的復雜度,只需要順著要執行的步驟,堆疊代碼即可。

缺點是:一套流水線或者流程就是用來解決一個問題,代碼牽一發而動全身。

面向對象:

優點是:解決了程序的擴展性。對某一個對象單獨修改,會立刻反映到整個體系中,如對游戲中一個人物參數的特征和技能修改都很容易。

缺點:可控性差,無法向面向過程的程序設計流水線式的可以很精準的預測問題的處理流程與結果,面向對象的程序一旦開始就由對象之間的交互解決問題,即便是上帝也無法預測最終結果。于是我們經常看到一個游戲人某一參數的修改極有可能導致陰霸的技能出現,一刀砍死3個人,這個游戲就失去平衡。

# 定義類
# init方法------實例化:類名加括號就是實例化,會自動觸發__init__函數的運行,可以用它來為每個實例定制自己的特征
# self是什么 self擁有屬性都屬于對象
# 類中可以定義靜態屬性
# 類中可以定義方法,方法都有一個必須傳的參數self
# 實例化
# 實例、對象
# 對象查看屬性
# 對象調用方法

class Person:       # 類名,大駝峰country = "china"  # 創造了一個只要是這個類就一定有的屬性(靜態屬性)def __init__(self,*args): # 初始化方法,self是對象,是一個必須傳的參數# self就是一個可以存儲很多屬性的大字典self.name = args[0] # 往字典里添加屬性的方式發生了一些變化self.age = args[1]self.hp = args[2]self.att = args[3]self.sex = args[4]def walk(self,n): # 方法,一般情況下必須傳self參數,且必須寫在第一個# 后面還可以傳其他參數,是自由的print("%s行走了%d步"%(self.name,n))alex = Person("王二",27,100,10,"")
alex.walk(12)
print(Person.country)
print(alex.name)
print(alex.__dict__) # 查看所有屬性
-----------------------------------------------------------------------
#人狗大戰
class Dog:
def __init__(self,name,ph,att):
self.name = name
self.ph = ph
self.att = att
def bite(self,people):
people.ph -= self.att
print("%s咬了%s,%s剩余血量%d"%(self.name,people.name,people.name,people.ph))

class People:
def __init__(self,name,ph,att):
self.name = name
self.ph = ph
self.att = att
def attack(self,dog):
dog.ph -= self.att
print("%s打了%s,%s剩余血量%d" % (self.name, dog.name, dog.name, dog.ph))

jin = Dog('金老板',100,20,) # 實例化
alex = People('alex',999,998)
jin.bite(alex)
print(alex.ph)
?

?

# 定義類
# class
# 函數 : 方法 動態屬性 # 類中可以定義方法,方法都有一個必須傳的參數self
# 變量 : 類屬性 靜態屬性 # 類中可以定義靜態屬性
# __init__方法 初始化方法
# python幫我們創建了一個對象self
# 每當我們調用類的時候就會自動觸發這個方法。默認傳self
# 在init方法里面可以對self進行賦值
# self是什么 self擁有屬性都屬于對象
#在類的內部,self就是一個對象
# alex = Person()
# alex.walk == Person.walk(alex)
# 實例化
# 對象 = 類(參數是init方法的)
# 實例、對象 完全沒有區別
# 對象查看屬性
# 對象.屬性名
# 對象調用方法
# 對象.方法名(參數) #類名.方法名(對象名,參數)

轉載于:https://www.cnblogs.com/wzc27229/p/11134289.html

總結

以上是生活随笔為你收集整理的day22_面向对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。