Python就業班——初識面向對象——練習——Point

 1 #!/usr/bin/env python3
 2 # coding=utf-8
 3 # Version:python3.6.1
 4 # Project:practice
 5 # File:Point.py
 6 # Data:2020/7/11 21:00
 7 # Author:LGSP_Harold
 8 """
 9 圓形、長方形除了是幾何學科中的基本圖形之外,也還是我們日常生
10 活中最常見的平面圖形。請根據面向對象的相關知識,將上述兩種平
11 面圖形用Python語言進行表示,使得我們的程序可以正常對其使用。
12 
13 任務
14 1、自定義Point類,並重寫其構造(初始化)方法__init__( ),將參數
15 x和y賦值給實例對象的屬性
16 2、自定義該類實例方法string( ),功能:打印“{X:xx, Y:xx}”
17 3、自定義Circle類,繼承自Point類,並重寫其構造(初始化)方法__
18 init__( ),x、y參數通過調用父類的構造函數進行賦值,radius通過子
19 類重寫的 __init__( )進行賦值。
20 4、自定義該類實例方法string( ),功能:打印“該圖形初始化點爲:
21 {X:xx, Y:xx}; {半徑爲:xx}”
22 5、自定義Size類,並重寫其構造(初始化)方法__init__( ),將參數w
23 idth和height賦值給實例對象的屬性
24 6、自定義該類實例方法string( ),功能:打印“{Width:xx, Heigh
25 t:xx}”
26 7、自定義Rectangle類,繼承自Point類和Size類,並重寫其構造(初
27 始化)方法__init__( ),x、y、width、height 4個參數全部通過調用
28 父類的構造函數進行賦值
29 8、自定義該類實例方法string( ),功能:打印“該圖形初始化點爲:
30 {X:xx, Y:xx}; 長寬分別爲:{Width:xx, Height:xx}
31 9、初始化Circle類的對象c,並調用其格式化輸出函數string( )
32 10、初始化Rectangle類的對象r1、r2,並分別調用其格式化輸出函數s
33 tring( )
34 
35 任務提示
36 1、在自定義Rectangle類的構造方法時,調用父類方法必須按照類名.
37 __init__(參數列表)的方式進行調用,如Point.__init__(self, x, y)
38 2、自定義Rectangle類格式化輸出方法時,調用父類的格式化輸出函
39 數string()時,應按照類名.string(參數)的方式進行調用,如Point.stri
40 ng(self)
41 """
42 
43 
44 class Point(object):
45 
46     def __init__(self, x, y):
47         self.x = x
48         self.y = y
49 
50     def string(self):
51         print('X:{0},Y{1}'.format(self.x, self.y))
52 
53 
54 class Circle(Point):
55 
56     def __init__(self, x, y, radius):
57         super().__init__(x, y)
58         self.radius = radius
59 
60     def string(self):
61         print('該圖像初始化點爲:X{0},Y{1};半徑爲{2}'.format(self.x, self.y, self.radius))
62 
63 
64 class Size(object):
65 
66     def __init__(self, width, height):
67         self.width = width
68         self.height = height
69 
70     def string(self):
71         print('width:{0},height:{1}'.format(self.width, self.height))
72 
73 
74 class Rectangle(Point, Size):
75     def __init__(self, x, y, width, height):
76         Point.__init__(self, x, y)
77         Size.__init__(self, width, height)
78 
79     def string(self):
80         # print('X:{0},Y:{1},width:{2},height{3}'.format(self.x, self.y, self.width, self.height))
81         Point.string(self)
82         Size.string(self)
83 
84 
85 if __name__ == '__main__':
86     circle = Circle(1, 2, 1)
87     circle.string()
88     r1 = Rectangle(9, 9, 9, 9)
89     r1.string()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章