《think python 2e》18章作业
《Think Python 2e》的第18章是关于面向对象编程(OOP)的。面向对象编程是一种编程范式,它使用“对象”来设计软件。在Python中,类(class)是创建对象的模板,而对象是类的实例。
以下是《Think Python 2e》第18章的作业题目:
1. 面向对象编程:
    创建一个名为`Person`的类,它有属性`name`和`age`,以及方法`greet`。
    创建一个`Person`对象并调用其`greet`方法。关于python的书
2. 继承:
    创建一个名为`Student`的类,它继承自`Person`类。`Student`类应该有一个额外的属性`school`,以及一个方法`describe_school`。
    创建一个`Student`对象并调用其`describe_school`方法。
3. 封装:
    使用封装来隐藏`Student`类的内部状态。例如,不要让用户直接访问或修改`school`属性,而是通过方法来实现这一功能。
4. 抽象基类:
    创建一个名为`StudentDriver`的抽象基类,它有一个方法`drive_to_school`。这个方法应该被声明为抽象方法,这意味着它必须在任何非抽象子类中被重写。
    创建一个继承自`StudentDriver`的类,并实现其抽象方法。
5. 多重继承:
    创建一个名为`GraduateStudent`的类,它同时继承自`Student`和`StudentDriver`。这个类应该有一个方法`graduate_school`。
6. 运算符重载:
    创建一个名为`Circle`的类,它有一个属性`radius`。为这个类重载加法运算符,使得两个圆可以通过加法运算符相加,结果是一个新的圆,其半径是两个输入圆的半径之和。
7. 组合:
    创建一个名为`Animal`的类和一个名为`Dog`的类。为`Dog`类添加一个属性`animal`,使其成为`Animal`类的实例。这样,当你创建一个新的狗对象时,你可以将它的动物属性设置为一个单独的动物对象。
8. 装饰器:
    创建一个装饰器来跟踪函数调用的时间。这个装饰器接受一个函数作为输入,并返回一个新的函数,该函数在调用时记录开始和结束时间,然后计算并打印函数调用的总时间。
9. 迭代器和生成器:
    实现一个生成器函数来生成斐波那契数列。这个函数应该返回一个生成器对象,该对象可以生成斐波那契数列中的连续数字。
10. 设计模式:
实现一个简单的工厂模式。工厂模式是一种设计模式,用于创建对象而不需要指定其具体类。在这个例子中,我们将创建一个工厂类,它可以创建两种不同类型的动物(例如猫和狗)。这个工厂类应该负责决定创建哪种类型的动物,而客户端代码只需要请求一个动物即可,无需知道具体的创建过程。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。