物件導向程式設計

2022-03-12 00:07:39 字數 4364 閱讀 8897

學生1:

學校:老男孩

姓名:李鐵蛋

性別:女

年齡:18

方法:選課

學習學生1:

學校:老男孩

姓名:nick

性別:女

年齡:48

方法:選課

學習

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.study()

stu1=student('李鐵蛋')

stu1.study()

nick學會了python

李鐵蛋學會了python

import time

class river:

def __init__(self,name,atk,armor,hp,money,suck = 0):

self.name = name

self.atk = atk

self.armor = armor

self.hp = hp

self.money = money

self.suck = 0

def attack(self,target):

target.hp -= self.atk - target.armor

self.hp += (self.atk - target.armor)*self.suck

if (self.atk - target.armor)*self.suck == 0:

print(f'攻擊了,的生命值為')

else:

print(f'攻擊了,的生命值為 回了血')

class gailun:

def __init__(self,name,atk,armor,hp,money,suck = 0):

self.name = name

self.atk = atk

self.armor = armor

self.hp = hp

self.money = money

self.suck = 0

def attack(self,target):

target.hp -= self.atk - target.armor

self.hp += (self.atk - target.armor) * self.suck

if (self.atk - target.armor) * self.suck == 0:

print(f'攻擊了,的生命值為')

else:

print(

f'攻擊了,的生命值為 回了血')

class duolan:

def __init__(self,atk = 7,hp = 100,money = 475):

self.atk = 7

self.hp = 100

self.money = 475

def updata(self,target):

target.atk += 7

target.hp += 100

class blood_jian:

def __init__(self, atk=60, suck=0.3, money=3000):

self.atk = atk

self.suck = 0.3

self.money = 3000

def updata(self, target):

target.atk += 60

target.suck += self.suck

blood_jian = blood_jian()

river = river('river',54,12,414,3000)

gailun = gailun('gailun',56,19,455,2500)

duolan = duolan()

i = 0

while true:

print(f'回合')

if river.money >= blood_jian.money:

river.money -= blood_jian.money

blood_jian.updata(river)

print('river購買了飲血劍(攻擊力+60,吸血+30%)')

if gailun.money >= blood_jian.money:

gailun.money -= blood_jian.money

blood_jian.updata(gailun)

print('gailun購買了飲血劍(攻擊力+60,吸血+30%)')

if river.money >= duolan.money:

river.money -= duolan.money

duolan.updata(river)

print('river購買了多蘭劍(攻擊力+7,生命值+100)')

if gailun.money >= duolan.money:

gailun.money -= duolan.money

duolan.updata(gailun)

print('gailun購買了多蘭劍(攻擊力+7,生命值+100)')

river.attack(gailun)

gailun.attack(river)

time.sleep(1)

river.money += 20

gailun.money +=20

if river.hp<= 0 or gailun.hp<=0:

break

i = i +1

if river.hp > 0:

print('river勝利')

else:

print('gailun勝利')

#### 賦予瑞文飲血劍和5把多蘭劍的德瑪對a

回合0river購買了飲血劍(攻擊力+60,吸血+30%)

gailun購買了多蘭劍(攻擊力+7,生命值+100)

river攻擊了gailun,gailun的生命值為460 river回了28.5血

gailun攻擊了river,river的生命值為391.5

回合1gailun購買了多蘭劍(攻擊力+7,生命值+100)

river攻擊了gailun,gailun的生命值為465 river回了28.5血

gailun攻擊了river,river的生命值為362.0

回合2gailun購買了多蘭劍(攻擊力+7,生命值+100)

river攻擊了gailun,gailun的生命值為470 river回了28.5血

gailun攻擊了river,river的生命值為325.5

回合3gailun購買了多蘭劍(攻擊力+7,生命值+100)

river攻擊了gailun,gailun的生命值為475 river回了28.5血

gailun攻擊了river,river的生命值為282.0

回合4gailun購買了多蘭劍(攻擊力+7,生命值+100)

river攻擊了gailun,gailun的生命值為480 river回了28.5血

gailun攻擊了river,river的生命值為231.5

回合5river攻擊了gailun,gailun的生命值為385 river回了28.5血

gailun攻擊了river,river的生命值為181.0

回合6river攻擊了gailun,gailun的生命值為290 river回了28.5血

gailun攻擊了river,river的生命值為130.5

回合7river攻擊了gailun,gailun的生命值為195 river回了28.5血

gailun攻擊了river,river的生命值為80.0

回合8river攻擊了gailun,gailun的生命值為100 river回了28.5血

gailun攻擊了river,river的生命值為29.5

回合9river攻擊了gailun,gailun的生命值為5 river回了28.5血

gailun攻擊了river,river的生命值為-21.0

gailun勝利

process finished with exit code 0

c 物件導向程式設計 物件導向

什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...

物件導向程式設計

物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...

物件導向程式設計

class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...