查看“Python案例:Person类的构造、继承和重写”的源代码
←
Python案例:Person类的构造、继承和重写
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==Person类的构造与析构函数== <nowiki> class Person: #构造函数 def __init__(self,name,gender="female",age=19): self.name=name self.gender=gender self.age=age #析构函数 def __del__(self): print("销毁对象{0}".format(self)) def show(self): print(self.name,self.gender,self.age) def info(self): print(self.name) if __name__ =="__main__": guy01 = Person("张红","female",20)#构建实例时,自动调用构造函数 guy02 = Person("王艳") guy01.show() guy02.show() del guy01#删除实例时,自动调用析构函数 del guy02</nowiki> 练习:设计一个类Item ,表示商品,为该类编写构造函数、析构函数,并通过创建实例和删除实例的方式调用这两个函数。 假设该类的属性有商品名称,商品价格,商品数量。 ==Person类的继承== 编写一个Student类,继承自Person类. <nowiki> class Student(Person):#Student类继承自Person类 #构造函数 def __init__(self,name,gender,age,major,dept): Person.__init__(self,name,gender,age) self.major =major self.dept = dept</nowiki> 在main方法中创建子类Student类的实例: <nowiki> guy03 = Student("王明","male",10,"computer","cloud") guy03.show()#子类实例可以调用父类的方法</nowiki> 练习:为类Item编写方法ShowSum,该方法的作用是计算商品的总价值(价格X 数量) 为该类编写一个子类SportsItem,该子类除了继承父类属性外,还有自己的两个属性:Season(季节),Sex(性别)。 创建该子类的实例,并用该实例调用父类的方法ShowSum ==Person类方法的重写== 在子类Student中重写父类的方法info: <nowiki> class Student(Person):#Student类继承自Person类 #构造函数 def __init__(self,name,gender,age,major,dept): Person.__init__(self,name,gender,age) self.major =major self.dept = dept #子类Student重写父类的info方法 def info(self): print(self.name,self.major,self.dept)</nowiki> 在main方法中子类实例调用重写父类的方法 guy03.info()#子类实例调用重写父类的方法 练习:为类Item编写方法ShowDetail ,该方法的作用是打印商品的名称、价格 和数量, 类Item的子类SportsItem,重写父类的方法ShowDetail,打印出体育用品的名称、价格、数量、适用性别和适用季节。 ==全部代码== <nowiki> class Person: #构造函数 def __init__(self,name,gender="female",age=19): self.name=name self.gender=gender self.age=age #析构函数 def __del__(self): print("销毁对象{0}".format(self)) def show(self): print(self.name,self.gender,self.age) def info(self): print(self.name) class Student(Person):#Student类继承自Person类 #构造函数 def __init__(self,name,gender,age,major,dept): Person.__init__(self,name,gender,age) self.major =major self.dept = dept #子类Student重写父类的info方法 def info(self): print(self.name,self.major,self.dept) if __name__ =="__main__": guy01 = Person("张红","female",20)#构建实例时,自动调用构造函数 guy02 = Person("王艳") guy01.show() guy02.show() del guy01#删除实例时,自动调用析构函数 del guy02 #创建子类student的实例 guy03 = Student("王明","male",10,"computer","cloud") guy03.show()#子类实例可以调用父类的方法 guy03.info()#子类实例调用自己重写父类的方法</nowiki>
返回至
Python案例:Person类的构造、继承和重写
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息