多继承
class 类名(父类1,父类2)  ----- 默认使用第一个父类
 
重写父类方法
方法名和父类方法名一样
当父类和子类的方法名重名时,默认使用的是子类中的方法
 
 
调用被重写的父类的方法
    父类名.方法名(self)
    super().方法ming()      使用super最好吧继承面调出来  类名._mro_   当前类的下一个类的方法
     super(类名,self).dark()  指定类的下一个类的方法
 
 
调用父类的魔法方法
     添加一些  方法
 
 
多态的概念
    鸭子类型
   
    不同的子类调用相同的父类的方法,      可以增减代码的灵活 体现代码效果的多种形态
    多态是以继承和重用代码方法为前提     继承关系 子类的方法名和父类一样
 
实例属性 和实例方法
    self.属性    对象的属性   实例化属性
    方法(self)    对象的方法   实例化方法     
    实例化属性 通过实例化方法去改 
   创建一个对象就开辟一个空间
 
 
类属性 和类对象
  类名就是 类对象
 类属性   变量名 = 值   #  类的属性  =    值    --------   在内存中只有一份  可以给多个数据共享      在类外面该  ;  修改类的属性    -----   类对象.属性 = 值
                       在类里面改  :   要通过类的方法去改
  类的属性可以根据类的对象去修改
    节约内存 
    类的方法的格式
       @classmmethod
     def  对象名(cls):
          cls.money -------------  类的属性
   调用类方法  
 
    类名.方法名()     不规范调用   对象.方法名------  类属性数据共享对象可以调用
 
静态方法     不需要传递参数  ,  内存中只有一次   没有self  没有cls
  @staticmethod
        def  方法名()
调用 
类名.方法名
   实例属性 要求每个对象为其单独开辟一份内存空间 来记录数据吗\, 而 类属性为全类所共有,进展用一份内存,更加节省内存空间
 
 
私有属性
  格式  __属性   加两个下划线
  作用  :  为了避免脏数据  保护属性的安全
     在外部不允许改
     私有的属性在类外不能被访问    在类里面允许改  可以被访问
    私有的方法只能在类里面可以用   
私有方法  
    在方法前面加了两个下划线   
   私有方法只能在类内部使用
 
私有方法和私有属性设计目的
     
        保护数据或操作的安全性
        向使用者隐藏核心开发细节
 
单例模式
  创建多个对象  内存中只开辟一个空间
      instance  == none  标识没有创建过对象
    
    
 
 

day11面向对象 多态 静态方法 (三)的更多相关文章

  1. JAVA面向对象-多态的理解

    面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作准备.那么什么是多 ...

  2. OC面向对象—多态

    OC面向对象—多态 一.基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态. 在使用多态是,会进行动态检测,以调用真实的对象方法. 多态在代码中的体现即父类指针指向子类对象. ...

  3. OC面向对象—多态

    OC面向对象—多态 一.基本概念 多态是基于继承的基础之上的,多态可以使得父类的指针指向子类的对象.如果函数或参数中使用的是父类类型,可以传入父类.子类对象,但是父类类型的变量不能直接调用子类特有的方 ...

  4. 李洪强iOS开发之OC面向对象—多态

    OC面向对象—多态 一.基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态. 在使用多态是,会进行动态检测,以调用真实的对象方法. 多态在代码中的体现即父类指针指向子类对象. ...

  5. 理解java的三大特性之多态(三)

    摘自:http://cmsblogs.com/?p=52 面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已 ...

  6. C#面向对象-多态

    面向对象的三大特性(封装,继承,多态)大多少人都应该知道.前两个的话比较容易理解.本文主要说一下面向对象中的多态. 什么是多态?不同的对象对同一操作,产生不同的执行结果.这就是多态.那么多态又包含了: ...

  7. Java——面向对象的特征三:多态性

    2.5面向对象的特征三:多态性 2.5.1 关于java语言中的向上转型和向下转型 ①向上转型(upcasting) :  子--->父(自动类型转换) ②向下转型(downcasting) : ...

  8. javascript面向对象系列第三篇——实现继承的3种形式

    × 目录 [1]原型继承 [2]伪类继承 [3]组合继承 前面的话 学习如何创建对象是理解面向对象编程的第一步,第二步是理解继承.本文是javascript面向对象系列第三篇——实现继承的3种形式 [ ...

  9. 浅谈学习C++时用到的【封装继承多态】三个概念

    封装继承多态这三个概念不是C++特有的,而是所有OOP具有的特性. 由于C++语言支持这三个特性,所以学习C++时不可避免的要理解这些概念. 而在大部分C++教材中这些概念是作为铺垫,接下来就花大部分 ...

随机推荐

  1. SQL数据单条转多条(Lateral View)

    Lateral View和split,explode等UDTF一起使用,它能够将一行数据拆成多行数据,并在此基础上对拆分后的数据进行聚合. 单个Lateral View语句语法定义如下:lateral ...

  2. 前端学习(二):head标签

    进击のpython ***** 前端学习--head标签 head标签中的相关标签,是看不见摸不着的,仅仅是对应用于网页的一些基础信息(元信息) 前面说的是青春版,完整的head应该是这样的 !< ...

  3. python处理excel文件(xls和xlsx)

    一.xlrd和xlwt 使用之前需要先安装,windows上如果直接在cmd中运行python则需要先执行pip3 install xlrd和pip3 install xlwt,如果使用pycharm ...

  4. 导弹拦截问题 dp c++

    // // Created by snnnow on 2020/4/13. // //每一次拦截只能是降续的导弹 //如果该次不能拦截成功,则拦截次数需要加一 //求每次最大拦截量,以及需要的拦截次数 ...

  5. spring 循环依赖的一次 理解

    前言: 在看spring 循环依赖的问题中,知道原理,网上一堆的资料有讲原理. 但今天在看代码过程中,又产生了疑问. 疑问点如下: // 疑问点: 先进行 dependon 判断String[] de ...

  6. PHP popen() 函数

    定义和用法 popen() 函数使用 command 参数打开进程文件指针. 如果出错,该函数返回 FALSE. 语法 popen(command,mode) 参数 描述 command 必需.规定要 ...

  7. C/C++编程笔记:C++入门知识丨运算符重载

    本篇要学习的内容和知识结构概览 运算符重载使用场景 常规赋值操作 我们现在有一个类 想要实现这种赋值操作 具体实现如下: 所以说呢,我们在使用运算符进行运算的时候, 实际上也是通过函数来实现运算的. ...

  8. 6.29 省选模拟赛 坏题 AC自动机 dp 图论

    考场上随手构造了一组数据把自己卡掉了 然后一直都是掉线状态了. 最后发现这个东西不是subtask -1的情况不多 所以就没管无解直接莽 写题有点晚 故没调出来.. 考虑怎么做 容易想到建立AC自动机 ...

  9. CF 633 div1 1338 B. Edge Weight Assignment 构造

    LINK:Edge Weight Assignment 这场当时没打 看到这个B题吓到我了 还好当时没打. 想了20min才知道怎么做 而且还不能证明. 首先考虑求最小. 可以发现 如果任意两个叶子节 ...

  10. kubernetes ingress 重定向地址错误

    环境: 有两个 kubernetes 集群: 一个版本为1.11,后面使用A集群代替,ingress 镜像版本为 0.19(quay.io/kubernetes-ingress-controller/ ...