zoukankan      html  css  js  c++  java
  • 面向对象的三大特性

    继承:继承是一种创建新类的方式,在Python中,新建的类可以继承一个或者多个父类,父类又可以称为基类或者超类,新建的类称为派生类或者子类。

    类的继承分为单继承和多继承:

    class ParentClass1: #定义父类
        pass
    class ParentClass2: #定义父类
        pass
    class SubClass1(ParentClass1): #单继承,基类是ParentClass1,派生类是SubClass
        pass
    class SubClass2(ParentClass1,ParentClass2): #python支持多继承,用逗号分隔开多个继承的类
        pass
    

      

    *如果没有指定基类,Python的类会默认继承object类,object是所有的Python类的基类,它提供了一些常见的方法。
    
    继承与抽象(先抽象后继承):继承是基于抽象的结果,通过编程语言去实现它,肯定是先经历抽象这个过程,才能通过继承的方式去表达抽象的结果

    继承与重用性:

    在开发程序的过程中,如果我们定义了一个类A,然后又想新建立另外一个类B,但是类B的大部分内容与类A相同时,我们不得不从头开始写一个类B,这就用到了类的继承;通过继承的方式新建类B,让B继承A,B会‘遗传’A的所有属性(数据属性和函数属性),实现代码的重用。

    派生:在继承的基础上子类也可以添加自己新的属性(不会影响到父类)。

    抽象类与接口类:

    接口类:

    1、继承基类的方法,并且做出自己的改变或者扩展(代码重用)
    
    2、声明某个子类兼容与某基类,定义一个接口类interface,接口类中定义了一些接口名(函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能
    
    抽象类:抽象类是一个特殊的类,他的特殊之处在于只能被继承不能实例化
    
    抽象类的本质还是类,指的是一组类的相似性,包括数据属性和函数属性,而接口类只强调函数属性的相似性
    
    抽象类是一个介于类和接口直接的一个概念,同时具备类和接口的部分特性,可以用来实现归一化设计
    接口隔离原则:
    使用多个专门的接口,而不使用单一的总接口。即客户端不应该依赖那些不需要的接口。

    钻石继承:

    新式类:广度优先       =======>Python3
    经典类:深度优先       =======>只在Python2

    多态

    多态指的是一类事物的多种形态:(例如一个父类有多个子类继承)

    封装:

    隐藏对象的属性和实现细节,仅仅对外提供公共访问方式
    好处:将变化隔离;便于使用;提高复用性;提高安全性
    
    原则:将不需要对外提供的内容都隐藏起来;吧属性都隐藏,提供公共方式对其访问
    
    私有变量和私有方法:在Python中用双下划线开头的方式将属性隐藏起来(设置成私有的)
  • 相关阅读:
    sudo: no tty present and no askpass program specified 解决方法
    中间件kingshard入门(一):基本安装
    mysql主从配置
    haproxy+keepalive双主高可用实现负载均衡
    lvs负载均衡配置
    docker可视化集中管理工具shipyard安装部署
    安装nodejs
    redis数据导入与导出以及配置使用
    搭建ss5环境
    thinkphp5+python.apscheduler实现计划任务
  • 原文地址:https://www.cnblogs.com/52-qq/p/7373576.html
Copyright © 2011-2022 走看看