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()

 

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