python是物件導向開發 Python之物件導向

2021-10-16 19:31:10 字數 2642 閱讀 9181

物件導向程式設計思路

一、物件導向之 物件分析#物件導向的核心設計:就是物件,一切圍繞物件之間的互動。   ooa

0、需求分析  框定程式的功能範圍

1、找到程式中涉及到的物件---------->找物件

二、物件導向設計 ood

2、物件分類:從一堆物件中分類。--------------------->物件分類,就找出了程式中的類

3、找各類物件的共同的特徵與技能(公共屬性),各類物件獨有的特徵和技能(def __init__(self)) -----------找出類的共有特徵、方法,和私有特徵、方法

二、物件導向程式設計 oop

4、先定義類

4、例項化出物件

5、物件之間的互動得到結果

三:**

classstudens:

country='中國'school='老男孩'

def __init__(self,cla, teacher,name,age):

self.cla=cla

self.teacher=teacher

self.name=name

self.age=agedefseach_teacher (self):print("%s的老師%s"%(self.name,self.teacher))defstudy(self):print("%s正在學習 %s" %(self.name,self.cla))

s1=studens('python','egon','張根','24')

s1.seach_teacher()

s1.study()classtecher:

company='oldboy'job='teacher'hobby='woman'

def __init__(self,name,age,teach):

self.name=name

self.age=age

self.teach=teachdefteaching(self):print('%s在教%s' %(self.name,self.teach))defseach (self):print('他工作在:%s,目前工作:%s 愛好:%s'%(self.company,self.job,self.hobby))

t1=techer('alex',35,'python')

t1.teaching()

t1.seach()

t2=techer('egon',45,'linux')

t2.teaching()

t2.seach()

執行結果

張根的老師egon

張根正在學習 python

alex在教python

他工作在:oldboy,目前工作:teacher 愛好:woman

egon在教linux

他工作在:oldboy,目前工作:teacher 愛好:woman

四、物件之間的互動 (物件之間使用方法(函式屬性)相互呼叫,使對方的屬性(變數屬性)發生變化)

class ch: #定義楚漢類

def __init__(self,country,name,arms,attack,mount,life):

self.country=country #國家

self.name=name #姓名

self.arms=arms #拿的**

self.attack=attack #攻擊值

self.mount=mount #坐騎

self.life=life #生命值

defatt(self,enemy):

enemy.life-=self.attackprint("%s殺%s %s 人馬 %s 還剩 %s 人馬 !"%( self.name,enemy.name,self.attack,enemy.name,enemy.life))if enemy.life<=0:print("%s 把 %s 砍死於 %s 之下!"%(self.name,enemy.name,self.mount ))

l=ch('漢','劉邦','小劍',300,'汗血寶馬',1000) #例項化出劉邦

x=ch('楚','項羽','長刀',300,'赤兔馬',1000) #例項化出項羽

l.att(x)#劉邦 用攻擊方法 講項羽物件 當做引數傳進去,使劉邦物件的 屬性發生變化; *****劉邦攻擊項羽 物件之間的互動

l.att(x)

l.att(x)

l.att(x)

x.att(l)#項羽 用攻擊方法 將 劉邦物件 當做引數傳進去,使劉邦物件 的屬性發生變化; *****項羽攻擊劉邦 物件之間的互動

x.att(l)

x.att(l)

x.att(l)

執行結果

劉邦殺項羽300 人馬 項羽 還剩 700人馬 !

劉邦殺項羽300 人馬 項羽 還剩 400人馬 !

劉邦殺項羽300 人馬 項羽 還剩 100人馬 !

劉邦殺項羽300 人馬 項羽 還剩 -200人馬 !

劉邦 把 項羽 砍死於 汗血寶馬 之下!

項羽殺劉邦300 人馬 劉邦 還剩 700人馬 !

項羽殺劉邦300 人馬 劉邦 還剩 400人馬 !

項羽殺劉邦300 人馬 劉邦 還剩 100人馬 !

項羽殺劉邦300 人馬 劉邦 還剩 -200人馬 !

項羽 把 劉邦 砍死於 赤兔馬 之下!

python是面向 python之物件導向

import random as r legal x 0,10 legal y 0,10 class turtle def init self 初始體力 self.power 100 初始位置隨機 self.x r.randint legal x 0 legal x 1 self.y r.randi...

python 物件導向 python是物件導向嗎

python是一種物件導向 解釋型計算機程式語言,由guido van rossum於1989年底發明,第乙個公開發行版發行於1991年,python 源 同樣遵循 gpl gnu general public license 協議。python語法簡潔而清晰,具有豐富和強大的類庫。但實際上面向過程...

python物件導向開發

物件導向封裝案例 1.目標 士兵突擊身份運算 身份運算子 描述區別 is比較物件記憶體位址是否相等 判斷物件值是否相等 is not 2,封裝 封裝是物件導向開發的重要特點 物件導向開發的第一步,將 屬性 和方法 封裝到乙個抽象的 類 中 外界使用類建立物件,通過物件呼叫方法 乙個物件的屬性可以是另...