day17 物件導向作業

2021-10-25 02:30:49 字數 3311 閱讀 1923

定義乙個矩形類,擁有屬性:長、寬 擁有方法:求周長、求面積

class

rectangle

:def

__init__

(self, length=

0, wide=0)

: self.length = length

self.wide = wide

defperimeter

(self)

:return

(self.length+self.wide)*2

defacreage

(self)

:return self.length*self.wide

r1 = rectangle(4,

5)print

(r1.perimeter(

), r1.acreage(

))

定義乙個二維點類,擁有屬性:x座標、y座標 擁有方法:求當前點到另外乙個點的距離

class

piont

:def

__init__

(self, x=

0, y=0)

: self.x = x

self.y = y

defp_to_p_length

(self, point)

:return

((self.x-point.x)**2

+(self.y-point.y)**2

)**0.5p1 = piont(2,

5)p2 = piont(-1

,1)print

(p1.p_to_p_length(p2)

)

定義乙個圓類,擁有屬性:半徑、圓心 擁有方法:求圓的周長和面積、判斷當前圓和另乙個圓是否外切

import math

class

point

:def

__init__

(self, x=

0, y=0)

: self.x = x

self.y = y

defp_to_p_length

(self, point)

:return

((self.x-point.x)**2

+(self.y-point.y)**2

)**0.5class

circle

:def

__init__

(self, radius=

0, center=point(0,

0)):

self.radius = radius

self.center = center

defperimeter

(self)

:return

2*math.pi*self.radius

defacreage

(self)

:return self.radius**

2*math.pi

defexterior_contact

(self, another)

:return self.radius+another.radius == self.center.p_to_p_length(another.center)

c1 = circle(

1, point(0,

0))c2 = circle(

4, point(3,

4))print

(c1.perimeter(

), c1.acreage(

), c1.exterior_contact(c2)

)

定義乙個線段類,擁有屬性:起點和終點, 擁有方法:獲取線段的長度

class

point

:def

__init__

(self, x=

0, y=0)

: self.x = x

self.y = y

defp_to_p_length

(self, point)

:return

((self.x-point.x)**2

+(self.y-point.y)**2

)**0.5class

line

:def

__init__

(self, start: point, end: point)

: self.start = start

self.end = end

deflength

(self)

:return self.start.p_to_p_length(self.end)

l1 = line(point(0,

0), point(3,

4))print

(l1.length(

))

定義乙個狗類和乙個人類:

狗擁有屬性:姓名、性別和品種 擁有方法:叫喚

人類擁有屬性:姓名、年齡、狗 擁有方法:遛狗

class

human

:def

__init__

(self, name:

str, age:

int, dog=

none):

self.name = name

self.age = age

self.dog = dog

defwalk_the_dog

(self)

:if self.dog:

return f'遛品種的'

class

dog:

def__init__

(self, name:

str, gender:

str, breed:

str)

: self.name = name

self.gender = gender

self.breed = breed

defcall_out

(self)

:return f'叫喚'

dog1 = dog(

'阿黃'

,'雌'

,'瘋狗'

)person1 = human(

'黃哥',18

, dog1)

print

(dog1.call_out(

), person1.walk_the_dog(

))

Day17物件導向作業

定義乙個矩形類,擁有屬性 長 寬 擁有方法 求周長 求面積 class rectangle def init self,length,width self.length length self.width width defperimeter self return self.length self...

day17 物件導向作業

定義乙個矩形類,擁有屬性 長 寬 擁有方法 求周長 求面積 class rectangle def init self,length,width self.length length self.width width defperimeter self return self.length 2 se...

day17 物件導向作業

定義乙個矩形類,擁有屬性 長 寬 擁有方法 求周長 求面積 class rectangular def init self,x,y self.long x self.width y defcalculate self l self.long self.width 2 s self.long self...