Python基础-继承与多态

来源:互联网 发布:金融行业数据分析报告 编辑:程序博客网 时间:2024/05/20 08:24

继承

基类或父类或超类

#!/usr/bin/env python3# -*- coding: utf-8 -*-# 基类# object 表示Person是继承 object 且归根到底所有类都继承Objectclass Person(object):    # 类似java构造器    # __init__ 函数的第一个参数一定是 self    # self 表示创建的实例本身    def __init__(self, name, age):        self.name = name        self.age = age    # 对象的方法     def toString(self):        print("%s : %s" % (self.name, self.age))

子类继承 基类或父类或超类

子类继承 基类或父类或超类意味着父类所以的方法都可以使用,且子类可以有自己独有的方法

#!/usr/bin/env python3# -*- coding: utf-8 -*-# 继承from Person import *# Man 继承了 Person 的所有方法class Man(Person):    # 子类只有的方法    def manPrint(self):        print("I' m  a man")

实例

#!/usr/bin/env python3# -*- coding: utf-8 -*-# 继承from Man import *# 子类Man 继承父类 Person 的实例mMan= Man("王大锤", "18")mMan.toString()# 子类方法mMan.manPrint()

运行结果

D:\PythonProject\sustudy>python main.py王大锤 : 18I' m  a man

多态

表现形式,一句话就是:重写父类的方法

示例

#!/usr/bin/env python3# -*- coding: utf-8 -*-# 继承from Person import *# Man 继承了 Person 的所有方法class Man(Person):    # 子类只有的方法    def manPrint(self):        print("I' m  a man")    # 多态,重新父类的方法    def toString(self):        print("重新父类方法,体现 多态 %s : %s" % (self.name, self.age))

运行如下

D:\PythonProject\sustudy>python main.py重新父类方法,体现 多态 王大锤 : 18I' m  a man

具体好处,实际项目中你可以看到他的威力。哈哈哈

结语

著名的“开闭”原则:

对扩展开放:[继承]允许新增 Person 子类;

对修改封闭:[多态]不需要修改依赖 Person 类型的 toString() 等函数由运行时该对象的确切类型决定,这就是多态真正的威力

原创粉丝点击