【Python入门与进阶】Python面向对象编程练习

练习题 1:定义一个 Person

定义一个 Person 类,它有以下属性和方法:

  • 属性:

    • name(字符串):表示人的名字。
    • age(整数):表示人的年龄。
  • 方法:

    • __init__(self, name, age):构造方法,用于初始化 nameage
    • greet(self):打印 Hello, my name is [name] and I am [age] years old.
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print(f"Hello, my name is {self.name} and I am {self.age} years old.")

练习题 2:定义一个 Rectangle

定义一个 Rectangle 类,它有以下属性和方法:

  • 属性:

    • length(浮点数):表示矩形的长度。
    • width(浮点数):表示矩形的宽度。
  • 方法:

    • __init__(self, length, width):构造方法,用于初始化 lengthwidth
    • area(self):返回矩形的面积。
    • perimeter(self):返回矩形的周长。
class Rectangle:
    def __init__(self, length, width):
        self.length = length
        self.width = width

    def area(self):
        return self.length * self.width

    def perimeter(self):
        return 2 * (self.length + self.width)

练习题 3:定义一个 BankAccount

定义一个 BankAccount 类,它有以下属性和方法:

  • 属性:

    • account_number(字符串):表示银行账户号码。
    • balance(浮点数):表示账户余额。
  • 方法:

    • __init__(self, account_number, balance=0.0):构造方法,用于初始化 account_numberbalance
    • deposit(self, amount):用于存款,增加账户余额。
    • withdraw(self, amount):用于取款,减少账户余额。
    • get_balance(self):返回当前账户余额。
class BankAccount:
    def __init__(self, account_number, balance=0.0):
        self.account_number = account_number
        self.balance = balance

    def deposit(self, amount):
        if amount > 0:
            self.balance += amount

    def withdraw(self, amount):
        if 0 < amount <= self.balance:
            self.balance -= amount

    def get_balance(self):
        return self.balance

练习题 4:定义一个 Car

定义一个 Car 类,它有以下属性和方法:

  • 属性:

    • make(字符串):表示汽车的制造商。
    • model(字符串):表示汽车的型号。
    • year(整数):表示汽车的制造年份。
  • 方法:

    • __init__(self, make, model, year):构造方法,用于初始化 makemodelyear
    • description(self):返回汽车的描述信息,例如 "[year] [make] [model]"
class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

    def description(self):
        return f"{self.year} {self.make} {self.model}"

练习题 5:定义一个 Employee 类和 Manager

定义一个 Employee 类和一个 Manager 类,要求如下:

  • Employee 类:

    • 属性:
      • name(字符串):表示员工名字。
      • salary(浮点数):表示员工薪水。
    • 方法:
      • __init__(self, name, salary):构造方法,用于初始化 namesalary
      • get_details(self):返回员工的详细信息,例如 "Name: [name], Salary: [salary]"
  • Manager 类继承 Employee 类:

    • 属性:
      • department(字符串):表示经理管理的部门。
    • 方法:
      • __init__(self, name, salary, department):构造方法,用于初始化 namesalarydepartment
      • get_details(self):返回经理的详细信息,包括部门,例如 "Name: [name], Salary: [salary], Department: [department]"
class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

    def get_details(self):
        return f"Name: {self.name}, Salary: {self.salary}"

class Manager(Employee):
    def __init__(self, name, salary, department):
        super().__init__(name, salary)
        self.department = department

    def get_details(self):
        return f"Name: {self.name}, Salary: {self.salary}, Department: {self.department}"

你可能感兴趣的:(python,面向对象,编程练习)