多继承
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. html命名规则

    CSS样式命名 外套 wrap ------------------用于最外层 头部 header ----------------用于头部 主要内容 main ------------用于主体内容( ...

  2. 根据 Promise/A+ 和 ES6 规范,实现 Promise(附详细测试)

    Promise 源码 https://github.com/lfp1024/promise promise-a-plus const PENDING = 'PENDING' const REJECTE ...

  3. spring学习(一)spring简介

    Spring简介: Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Asp ...

  4. mysql性能优化方案总结

    一.表结构优化 1.根据自己的业务选择合适的引擎.比如: 在以下两点情况下必须使用InnerDB: ①可靠性高或者必须要求事务处理 ②表更新和查询相当的频繁,并且表锁定的机会比较大的情况下,指定Inn ...

  5. 干货 | 这可能全网最好的BatchNorm详解

    文章来自:公众号[机器学习炼丹术].求关注~ 其实关于BN层,我在之前的文章"梯度爆炸"那一篇中已经涉及到了,但是鉴于面试经历中多次问道这个,这里再做一个更加全面的讲解. Inte ...

  6. Django学习路12_objects 方法(all,filter,exclude,order by,values)

    Person.objects.all() 获取全部数据 def get_persons(request): persons = Person.objects.all() # 获取全部数据 contex ...

  7. 谁来教我渗透测试——黑客应该掌握的Windows基础

    今天我们看看作为一个黑客对于Windows应该掌握哪些基础知识,主要内容包含以下四个方面: 系统目录.服务.端口和注册表: 黑客常用的DOS命令及批处理文件的编写: 黑客常用的快捷键,以及如何优化系统 ...

  8. 因为不知道Java的CopyOnWriteArrayList,面试官让我回去等通知

    先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...

  9. PHP stat() 函数

    定义和用法 stat() 函数返回关于文件的信息. 该函数将返回一个包含下列元素的数组: [0] 或 [dev] - 设备编号 [1] 或 [ino] - inode 编号 [2] 或 [mode] ...

  10. MIME-TYPE 列表

    Suffixes applicable Media type and subtype(s) .3dm x-world/x-3dmf .3dmf x-world/x-3dmf .a applicatio ...