Python中封装、继承、多态的练习题

一.

1.房子有户型,总面积和家具名称列表
新房子没有任何的家具

2.家具有名字和占地面积,其中
床:占4平米
衣柜:占2平米
餐桌:占1.5平米
3.将以上三件家具添加到房子中
4.打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表

源代码
class Furniture():

def __init__(self,name,area):
    self.name = name
    self.area = area

def __str__(self):
    return '[%s]占地: %.2f' %(self.name,self.area)

class House():

def __init__(self,house_type,area):
    self.house_type = house_type
    self.area = area
    #剩余面积
    self.free_area = area
    self.item_list = []

def __str__(self):
    return ('户型: %s\n总面积: %.2f[剩余面积: %.2f]\n家具:%s'
            %(self.house_type,self.area,self.free_area,self.item_list))

def add_item(self,item):
    #1.判断家具的面积
    if item.area > self.free_area:
        print('%s 的面积太大,无法添加' %item.name)

    #2.添加家具
    self.item_list.append(item.name)
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
封装继承多态是面向对象编程的三个重要概念。 1. 封装(Encapsulation):封装是指将数据和操作数据的方法封装在一起,形成一个类。通过封装,我们可以隐藏类的内部实现细节,只暴露出对外的接口,提高了代码的安全性和可维护性。 2. 继承(Inheritance):继承是指一个类可以继承另一个类的属性和方法。通过继承,子类可以直接使用父类的属性和方法,同时还可以在子类添加新的属性和方法,实现代码的复用和扩展。 3. 多态(Polymorphism):多态是指同一个方法可以根据不同的对象调用出不同的行为。通过多态,我们可以在不改变方法的情况下,根据不同的对象调用相同的方法,实现了代码的灵活性和可扩展性。 在Python封装通过类的定义来实现,继承通过在子类的类名后面加上父类的类名来实现,多态则是Python的一种动态类型语言特性,不需要显式声明。 以下是一个示例代码,演示了Python封装继承多态的含义: ```python # 封装 class Animal: def __init__(self, name): self.name = name def speak(self): pass class Dog(Animal): def speak(self): return "Woof!" class Cat(Animal): def speak(self): return "Meow!" dog = Dog("Buddy") cat = Cat("Kitty") print(dog.speak()) # 输出:Woof! print(cat.speak()) # 输出:Meow! # 继承 class Person: def __init__(self, name): self.name = name def say_hello(self): print("Hello, my name is", self.name) class Student(Person): def __init__(self, name, grade): super().__init__(name) self.grade = grade def say_hello(self): super().say_hello() print("I am in grade", self.grade) person = Person("John") student = Student("Alice", 10) person.say_hello() # 输出:Hello, my name is John student.say_hello() # 输出:Hello, my name is Alice\nI am in grade 10 # 多态 def make_sound(animal): print(animal.speak()) dog = Dog("Buddy") cat = Cat("Kitty") make_sound(dog) # 输出:Woof! make_sound(cat) # 输出:Meow! ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值