python - Python 中特定于对象的方法?

标签 python methods

如果这个问题得到解答,我深表歉意,但我到处搜索,似乎找不到答案。假设我有一个类“狗”。该类有两个对象:Buster 和 Bowser。创建特定于每个对象的方法的最佳方法是什么?

例如,如果我想创建只有 Buster 才能执行的 roll_over() 和 play_dead() 方法,以及只有 Bowser 才能执行的stand() 和 high_ Five() 方法,那么有什么好方法呢?

此外(这可能需要成为它自己的问题),我如何为这些方法提供用户可读的名称,以便如果他们使用 Buster,他们可以看到让他“翻滚”或“装死”的选项, Bowser 等等?

谢谢。

最佳答案

您创建一个狗类,然后创建从“parent”类继承的新类。

class Dog():
    def __init__(self):
        #Put things here that all dogs can do
        #...

class Buster(Dog):
    def __init__(self):
        #...
    def roll_over(self):
        #...
    def play_dead(self):
        #...

class Bowser(Dog):
    def __init__(self):
        #...
    def stand(self):
        #...
    def high_five(self):
        #...

基本上,您正在创建一个 "parent" 类,其中每个 "children" 类(又名 BusterBowser) 继承自。他们获得“parent”的所有功能,但可以添加自己的单独功能。这就是您轻松做到的方法。

您可以使用 buster = Buster()bowser = Bowser 创建新的 BusterBowser 对象.

如果您还有其他问题,请在下面提问。祝你好运!

关于python - Python 中特定于对象的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22702733/

相关文章:

c# - C#中私有(private)方法的代码风格

python - 从生成器中强制生成一个列表

python - 你如何守护一个 Flask 应用程序?

python - 定义不带@的修饰函数

python - 将浮点范围放入容器中

c# - 具有属性的快速 ArgumentNullException。有可能的?

java - Selenium Webdriver 存储和断言文本

android - 值错误 : unconverted data remains: +00:00

java - 是否通过对象 "bad form"调用静态方法?为什么?

objective-c - 在 Objective-C 中进行函数提取以创建干净的代码有哪些好的策略?