類與物件之組合

2022-07-29 05:45:09 字數 1472 閱讀 1217

# 第二大題:基於圓形類實現乙個圓環類,要求接收引數 外圓半徑和內圓半徑

# 完成方法 :計算環形面積和環形周長(公式自己上網查)#radius半徑    acreage面積 

# 要求,借助組合,要求組合圓形類的物件完成需求 circular ring圓環 perimeter周長

from math import pi

class circle:

def __init__(self,r):

self.r=r

def area(self):

return pi*self.r*self.r  #必須要有返回值,方便在函式內部計算。

def perimeter(self):

return 2*pi*self.r       #必須要有返回值,方便在函式內部計算。

class ring:

def __init__(self,out_r,inner_r):

out_r,inner_r=(out_r,inner_r) if out_r>inner_r else (inner_r,out_r) #這段**可解決傳遞的半徑#大小的順序問題。

self.out_c=circle(out_r)  #內部完成例項化,使用者體驗更好。

self.inner_c=circle(inner_r)

def computes(self):#設計了乙個計算方法,專門用於計算圓環的面積及周長,列印並返回值。

'return 圓環的面積,圓環的周長'

ringarea=self.out_c.area()-self.inner_c.area() #完成內部呼叫

print('圓環的面積是:',ringarea)

ringperimeter=self.out_c.perimeter()+self.inner_c.perimeter()

print('圓環的周長是:',ringperimeter)

return ringarea,ringperimeter

#def area(self):       #另一種方式,沒有用計算函式,而是分別用了面積和周長的方法。

#return self.out_c.area()-self.inner_c.area()

#def perimeter(self):  #另一種方式,沒有用計算函式,而是分別用了面積和周長的方法。

#return self.out_c.perimeter()+self.inner_c.perimeter()

ring=ring(10,15)#當一段**中同樣的公式、方法要在多處用時,最好用組合,公式只寫#一處,其它的都是引用。可減少**量,**有錯時,只需修改一處就可以了。

ring.computes()  

類 物件空間,組合

job1 teacher class a home 老男孩教育 name 武大 def init self,name,age self.name name self.age age defjob self print 我在開車.查詢順序 物件的查詢順序 先從物件空間去找,物件的空間沒有此變數或者方法...

C 之物件與類

主要的oop特性 定義類的過程 類宣告 以資料成員的方式描述資料部分,以成員函式的方式描述公用介面。類方法定義 描述如何實現對應的成員函式。宣告,也即是原型 class stack 直接定義的函式,將作為內聯函式 void func1 const const 函式 intfunc2 stack 預設...

物件導向3 抽象類與組合

1 何為介面 概念 自己提供給使用者呼叫自己功能的方法 入口 介面提取了一群類共同的函式,可以把介面當做乙個函式的集合,然後讓子類去實現介面中的函式。這麼做的意義在於歸一化,就是只要是基於同乙個介面實現的類,那麼所有的這些類產生的物件在使 用時,從用法上來說都一樣。舉個例子,如下,初衷是繼承父類的子...