南山区之狼 2021-05-08 21:57 采纳率: 48.1%
浏览 34
已采纳

Python 继承方法的应用

 

下面是要改的代码:

class Person(object):
    def __init__(self, name = '', age = 20, sex = 'man'):
        pass
        
    def setName(self, name):
        pass
        
    def setAge(self, age):
        pass
        
    def setSex(self, sex):
        pass
        
    def show(self):
        pass

class Teacher(Person):
    def __init__(self, name='', age = 30, sex = 'man', department = 'Computer'):        
        Person.__init__(self, name, age, sex)
        self.setDepartment(department)

    def setDepartment(self, department):        
        pass
        
    def show(self):
        pass

if __name__ =='__main__':
    zhangsan = Person('Zhang San', 19, 'man')
    zhangsan.show()

    lisi = Teacher('Li Xi',32, 'man', 'Math')
    lisi.show()
    lisi.setAge(40)
    lisi.setName("Li Si")
    lisi.show()
  • 写回答

1条回答 默认 最新

  • benbenli 2021-05-09 09:36
    关注
    class Person(object):
        def __init__(self, name = '', age = 20, sex = 'man'):
            self.name = name
            self.age = age
            self.sex = sex
            
        def setName(self, name):
            self.name = name
            
        def setAge(self, age):
            self.age = age
            
        def setSex(self, sex):
            self.sex = sex
            
        def show(self):
            print(f"Name: {self.name}")
            print(f"Age: {self.age}")
            print(f"Sex: {self.sex}")
    
    class Teacher(Person):
        def __init__(self, name='', age = 30, sex = 'man', department = 'Computer'):        
            Person.__init__(self, name, age, sex)
            self.setDepartment(department)
    
        def setDepartment(self, department):        
            self.department = department
            
        def show(self):
            Person.show(self)
            print(f"Department: {self.department}")
    
    
    if __name__ =='__main__':
        zhangsan = Person('Zhang San', 19, 'man')
        zhangsan.show()
    
        lisi = Teacher('Li Xi',32, 'man', 'Math')
        lisi.show()
        lisi.setAge(40)
        lisi.setName("Li Si")
        lisi.show()
    
    
    # Output
    Name: Zhang San
    Age: 19
    Sex: man
    Name: Li Xi
    Age: 32
    Sex: man
    Department: Math
    Name: Li Si
    Age: 40
    Sex: man
    Department: Math

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?