-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self, name, gender, breed): self.name = name self.gender = gender self.breed = breed @classmethod def bark(cls): print('汪汪汪汪汪') Dog.bark() class Person(Dog): def __init__(self, name_p, age, dog): self.name = name_p self.age = age self.dog = dog @classmethod def hang_dog(self): print(f'{self.dog},出门遛弯!!!!') Person.dog = '旺财' Person.hang_dog()
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, width, height): self.width = width self.height = height def area(self): return self.width * self.height def perimeter(self): return (self.width + self.height) * 2
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self, x, y): self.x = x self.y = y def distance(self, x1, y1): return ((self.x - x1) ** 2 + (self.y - y1) ** 2) ** 0.5
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: pi = 3.14 def __init__(self, r, center_point_x, center_point_y): self.r = r self.center_point_x = center_point_x self.center_point_y = center_point_y def perimeter(self): return 2 * Circle.pi * self.r def area(self): return Circle.pi * self.r ** 2 def jungle(self, x1, y1, r1): if ((self.center_point_x - x1) ** 2 + (self.center_point_y - y1) ** 2) ** 0.5 == self.r + r1: print('两个圆外切') else: print('两个圆不外切')
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: def __init__(self, start_point_x, start_point_y, end_point_x, end_point_y): self.x1 = start_point_x self.y1 = start_point_y self.x2 = end_point_x self.y2 = end_point_y def distance(self): return ((self.x2 - self.x1) ** 2 + (self.y2 - self.y1) ** 2) ** 0.5
day17-面向对象作业
最新推荐文章于 2024-04-27 01:44:23 发布