面向对象作业01

it2025-08-12  7

面向对象作业01

1. 定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积

class Square:

def __init__(self, long=0, width=0): self.long = long self.width = width def perimeter(self): p = (self.long + self.width) * 2 print(f'周长为:{p}') def area(self): print(f'面积为:{self.long * self.width}')

s1 = Square(10, 5) s1.perimeter() s1.area()

2. 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离

class Point: def init(self, x, y): self.x = x self.y = y

def distanse(self, other): return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** (1 / 2)

p1 = Point(10, 5) p2 = Point(5, 1) print(f’距离为:{p1.distanse(p2)}’)

3. 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切

class Circle: def init(self, radius, centerx, centery): self.radius = radius self.centerx = centerx self.centery = centery

def perimeter(self): return math.pi * 2 * self.radius def area(self): return math.pi * self.radius ** 2 def excircle(self, other): a = ((self.centerx - other.centerx) ** 2 + (self.centery - other.centery) ** 2) ** (1 / 2) if self.radius + other.radius == a: print('是外切圆') else: print('不是外切圆')

c1 = Circle(10, 5, 6) print(c1.perimeter()) print(c1.area()) c2 = Circle(10, 4, 5) c1.excircle(c2)

4. 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度

class Line: def init(self, startPoint, endPoint): (self.x, self.y) = startPoint (self.a, self.b) = endPoint

def line_length(self): return ((self.x - self.a) ** 2 + (self.y - self.b) ** 2) ** (1 / 2)

l1 = Line((10, 5), (8, 3)) print(f’线段长度为:{l1.line_length()}’)

5. 定义一个狗类和一个人类:

狗拥有属性:姓名、性别和品种 拥有方法:叫唤

人类拥有属性:姓名、年龄、狗 拥有方法:遛狗

class Dog: def init(self, name, sex, breed): self.name = name self.sex = sex self.breed = breed

def yelp(self): print(f'小{self.breed}{self.name}在叫')

class Person: def init(self, name, age, dog): self.name = name self.age = age self.dog = dog

def tdfw(self): print('我去遛狗了')

d1 = Dog(‘超威’, 1, ‘柴犬’)

d1.yelp()

最新回复(0)