首页 > 其他分享 >使用面向对象思想实现乐器弹奏

使用面向对象思想实现乐器弹奏

时间:2024-07-21 09:01:37浏览次数:8  
标签:sound play 弹奏 Instrument make 面向对象 乐器 def

题目

乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。定义乐器类Instrument,包括方法make_sound()。定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin,定义一个函数可以弹奏各种乐器play(instrument),测试给乐手不同的乐器让他弹奏。

代码

class Instrument():
    def make_sound(self):
        pass

class Erhu(Instrument):
    def make_sound(self):
        print("二胡在弹奏")

class Violin(Instrument):
    def make_sound(self):
        print("小提琴在弹奏")

class Piano(Instrument):
    def make_sound(self):
        print("钢琴在弹奏")

def play(instrument):
    instrument.make_sound()

erhu=Erhu()
piano=Piano()
violin=Violin()

play(erhu)
play(piano)
play(violin)


运行效果

二胡在弹奏
钢琴在弹奏
小提琴在弹奏

标签:sound,play,弹奏,Instrument,make,面向对象,乐器,def
From: https://blog.csdn.net/zhourongxiang1/article/details/140539004

相关文章

  • 【Java面向对象】异常处理
    文章目录1.异常1.1异常类1.2异常类型1.3免检异常和必检异常2.异常的声明、抛出与捕获2.1声明异常2.2抛出与捕获异常2.3从异常中获取信息3.链式异常3.1重新抛出异常3.2链式异常4.创建自定义异常类1.异常1.1异常类异常是对象,而对象都采用类来定义。异常的......
  • C++面向对象三大特性:继承
     前言:众所周知,C++作为一个面向对象的编程语言,有着三大特性:封装,继承,和多态。在前面的C++学习中,我们大部分所接触的只有封装,现在,就让我们来认识一下继承吧。一、继承的概念继承是指一个类(子类)从另一个类(父类)获得属性和行为的过程,它是使得代码得到复用的重要手段,允许程序员......
  • Java面向对象程序三大特性:封装、继承、多态
    目录 引言一.封装二.继承三.多态四.结论 引言 在现代软件开发中,面向对象编程(OOP)已成为一种流行且有效的编程范式,其中Java语言以其高效性和灵活性深受开发者的喜爱。面向对象编程的核心在于其三大特性:封装、继承和多态。这些特性不仅提高了代码的重用性和可维......
  • C++面向对象编程的一个核心概念--RAII
    RAII是"ResourceAcquisitionIsInitialization"(资源获取即初始化)的缩写,它是C++编程中的一种编程技术,用于管理资源的生命周期。RAII是C++面向对象编程的一个核心概念,它利用对象的构造函数和析构函数来自动管理资源,如内存、文件句柄、线程、互斥锁等。RAII的主要原则包括:1.*......
  • 面向对象05-抽象类 / 接口 / 内部类
    一、抽象类1.abstract修饰的方法/类  publicabstractvoidwork();2.方法体中没有东西,子类必须重写(统一)3.类中有抽象方法,这个类必须也为抽象类4.注意事项: (1)抽象类不能实例化(实例化:创建对象) (2)抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类 (3)可以有构......
  • java进阶(面向对象实例代码)
    1.抽象类和接口抽象类示例abstractclassAnimal{abstractvoidmakeSound();voidsleep(){System.out.println("Sleeping...");}}classDogextendsAnimal{@OverridevoidmakeSound(){System.out.println("Bark&......
  • python——面向对象(2)继承与多态
    文章目录继承的基本语法继承的特点继承的类型多态在Python中,继承是一种基于已存在的类来创建新类的方式。这种机制允许我们定义一个通用的类,然后基于这个类来定义一些特定的类,这些特定的类将继承通用类的属性和方法,同时也可以添加或覆盖一些新的属性和方法。这种方式......
  • 面向对象的一些知识
    文章目录类与对象类里有什么内容?类和对象的关系对象和引用的关系对象在哪里开辟空间private修饰符-私有化this关键字-本对象封装构造方法static修饰符-静态的继承优缺点子类能否继承父类所有属性和方法super关键字重写/复写访问修饰符Objectfinal抽象类抽象方法......
  • 深入理解面向对象编程(OOP)
    ......
  • Java面向对象
    面向对象    要理解面向对象思想,就先要知道什么是对象?    对象,不只是“男女朋友”,在《Java编程思想》中多次提到“万物皆对象”的概念。它除了可以存储数据之外还可以对它自身进行操作。它能够直接反映现实生活中的事物,例如人、车、小鸟等一切事物,都可以表示......