物件導向程式設計思路
一、物件導向之 物件分析#物件導向的核心設計:就是物件,一切圍繞物件之間的互動。 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,封裝 封裝是物件導向開發的重要特點 物件導向開發的第一步,將 屬性 和方法 封裝到乙個抽象的 類 中 外界使用類建立物件,通過物件呼叫方法 乙個物件的屬性可以是另...