• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python面向对象封装继承和多态示例讲解

    面向对象的三大特征:封装,继承,多态

    1.封装: 提高程序的安全性

    2.继承: 提高代码的复用性

    3.提高程序的可拓展性和可 维护性。

    1. 封装

    我们来看看私有方式的使用:

    # 作者:互联网老辛
    # 开发时间:2021/4/4/0004 22:11
    class Student:
        def __init__(self,name,age):
            self.name=name
            self.__age=age
    
        def show(self):
            print(self.name,self.__age)
    
    laoxin=Student('互联网老辛',38)
    laoxin.show()
    print(laoxin.name)
    print(laoxin.__age)


    私有属性如何被访问呢?
    可以通过下面的形式来访问

    print(laoxin.Student_ _ age)的形式进行访问

    但一般情况下,我们看到私有方法,就尽量不要访问了。

    2. 继承

    语法格式:
    class 子类类名(父类1,父类2)
    pass

    # 作者:互联网老辛
    # 开发时间:2021/4/4/0004 22:11
    class Person(object):
        def __init__(self,name,age):
            self.name=name
            self.age=age
        def info(self):
            print(self.name,self.age)
    
    class Student(Person):
        def __init__(self,name,age,sut_no):
            super().__init__(name,age)
            self.sut_no=sut_no
    
    class Teacher(Person):
        def __init__(self,name,age,teachofyear):
            super(Teacher, self).__init__(name,age)
            self.teachofyear=teachofyear
    
    stu=Student('互联网老辛',40,1001)
    teacher=Teacher('高胜寒',38,10)
    
    stu.info()
    teacher.info()

    在Python中还可以支持多继承

    比如校长,既能集成person类,又能继承teacher类。

    多态的实现

    多态就是具有多种形态,意思是,即使不知道一个变量所引用的对象到底是什么类型,仍然可以通过这个变量调用方法,在运行过程中根据变量所引用的对象类型,动态的决定调用哪个对象中的方法。

    # 作者:互联网老辛
    # 开发时间:2021/4/4/0004 22:11
    class Animal(object):
        def eat(self):
            print("动物需要吃东西")
    class Dog(Animal):
        def eat(self):
            print('狗吃骨头')  #重写方法
    
    class Cat(Animal):
        def eat(self):
            print('猫吃鱼')
    
    class Person:  #没有集成任何类
        def eat(self):
            print('人吃植物')
    
    def fun(obj):
        obj.eat()
    
    fun(Cat())
    fun(Dog())
    fun(Animal())
    
    fun(Person()) #但是他也能调用方法

    原因:
    Python是一种动态语言,静态语言要想实现多态,必须明确继承,然后才能使用,而动态语言只关心是否具有这个方法,关于类不管。

    到此这篇关于面向对象的封装,继承和多态的文章就介绍到这了,更多相关面向对象的封装,继承和多态内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python面向对象之类的继承详解
    • Python面向对象程序设计之继承、多态原理与用法详解
    • Python面向对象之继承原理与用法案例分析
    • Python 面向对象之封装、继承、多态操作实例分析
    • Python面向对象之继承和多态用法分析
    • Python3.5面向对象程序设计之类的继承和多态详解
    • Python3.5面向对象与继承图文实例详解
    • Python面向对象程序设计类的封装与继承用法示例
    • Python面向对象程序设计多继承和多态用法示例
    • Python面向对象程序设计之类的定义与继承简单示例
    • Python面向对象之类的定义与继承用法示例
    • Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
    • Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
    • Python面向对象之继承和组合用法实例分析
    • Python面向对象程序设计之继承与多继承用法分析
    • Python面向对象类的继承实例详解
    • Python面向对象类继承和组合实例分析
    • Python 面向对象编程的三大特性之继承
    上一篇:理解深度学习之深度学习简介
    下一篇:Pytorch 使用tensor特定条件判断索引
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python面向对象封装继承和多态示例讲解 Python,面向,对象,封装,继承,