-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self,name,gender,breed): self.name = name self.gender = gender self.breed = breed @classmethod def method(cls): print('叫唤') class Person: def __init__(self,name,age): self.name = name self.age = age self.dog = Dog @classmethod def method(cls): print('遛狗') dog1 =Dog('十一','男','哈士奇') print(dog1.breed,dog1.gender,dog1.name) dog1.method() people1 = Person('大哈',36) print(people1.dog,people1.name,people1.age) people1.method()
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rect: 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 re1 = Rect(1,2) print(re1.area(),re1.perimeter())
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self,x,y): self.x = x self.y = y def distance(self,x,y): return ((self.x-x)**2 +(self.y -y)**2)**0.5 point1 = Point(1,2) point2 = Point(2,4) distance1 = point1.distance(point2.x,point2.y) print(distance1)
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: pi = 3.1415926 def __init__(self,r,x,y): self.r = r self.x = x self.y = y def area(self): return Circle.pi*(self.r**2) def perimeter(self): return 2*Circle.pi*self.r def contact(self,r1,x1,y1): if (self.r+r1) == ((self.x-x1)**2 +(self.y -y1)**2)**0.5: return True else: return None r1 = Circle(1,0,0) r2 = Circle(2,3,0) print(r1.area(),r1.perimeter(),r1.contact(r2.r,r2.x,r2.y))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class segment: def __init__(self,x,y,x1,y1): self.x = x self.y = y self.x1 = x1 self.y1 = y1 def length(self): return ((self.x-self.x1)**2+(self.y-self.y1)**2)**0.5 direct = segment(1,1,2,4) print(direct.length())
day17-面向对象作业
最新推荐文章于 2023-05-28 19:03:31 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)