物件導向之編寫乙個色子類

2021-08-18 14:40:52 字數 1619 閱讀 8306

本人自己摸索的方法:

class dice:

"""編寫乙個色子類,要求:

1.具有6個面,每個面為一種顏色

2.每種顏色代表乙個數值(1-6)

3.實現乙個通過顏色計算兩種其代表數值和的靜態方法

4.實現乙個類方法(gen_dice)用於產生這個類的例項

"""@staticmethod

def cal(color1,color2):

face = 0

def color_stand(color):

if color == "red":

face = 1

elif color == "green":

face = 2

elif color == "pray":

face = 3

elif color == "yellow":

face = 4

elif color == "blue":

face = 5

elif color == "pink":

face = 6

else:

print("your color is wrong!")

return face

num = color_stand(color1)+color_stand(color2)

print(num)

@classmethod

def gen_dice(cls):

return cls()

dice = dice.gen_dice()

print(dice)

dice.cal("green","yellow")

然而總感覺太臃腫。。。

於是在網上查詢了一下,發現乙個更簡潔的:

具體**:

class dice:

"""編寫乙個色子類,要求:

1.具有6個面,每個面為一種顏色

2.每種顏色代表乙個數值(1-6)

3.實現乙個通過顏色計算兩種其代表數值和的靜態方法

4.實現乙個類方法(gen_dice)用於產生這個類的例項

"""face =

@staticmethod

def sum(color1,color2):

sum = dice.face.get(color1)+dice.face.get(color2)

return sum

@classmethod

def gen_dice(cls):

return cls()

dice = dice.gen_dice()

print(dice)

dice.sum("yellow","blue")

其中有乙個get()方法,它是屬於字典的乙個方法。

語法:

dict.get(key, default=none)
對於引數:
key -- 字典中要查詢的鍵。
default -- 如果指定鍵的值不存在時,返回該預設值值。
簡單理解就是可以通過字典的鍵名獲取相對應的鍵值。

物件導向之編寫乙個完整的類

package com.work.cast public class people class people1else public string getname public void setage int a else public int getage int a public void se...

Delphi物件導向 編寫乙個類

delphi物件導向學習隨筆二 編寫第乙個類 這回,我們討論怎麼編寫我們自己的第乙個類。在編寫我們自己的類之前,首先要說的是 類的繼承 記得前幾天,我在和乙個朋友討論類的特點的時候,他說 類是可以沒有構造方法的!其實類必須有至少乙個構造方法的,但是他的話也不全錯,可以理解成 我們可以不實現我們自己的...

物件導向編寫乙個計算器

首先分析計算器有加減乘除,取模,求餘等計算方式,所以我們在建立了這個類的同時就應該想到後期肯定需要進行這方面的擴充套件,所以在設計的時候就應該盡量不修改原有 的前提下進行功能的擴充套件,也就是降低物件之間的耦合度。廢話不多說,如下 namespace program public print dec...