多继承
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. C++语法小记---重载逻辑操作符

    重载逻辑操作符 不建议重载逻辑操作符 原因:无法实现逻辑操作符的短路功能(即:不需要计算完全部表达式就可以得出结果) 逻辑操作符:|| && 操作符重载本质上是函数调用,而进行函数调用 ...

  2. 004.Nginx日志配置及状态监控

    一 Nginx请求简介 1.1 请求头部 对于HTTP而言,客户端负责发起request请求,服务端负责response响应. request:包括请求行.请求头部.请求数据: response:包括 ...

  3. .NET Core 发布到 IIS

    ①右键项目->属性 将生成配置为Release ②右键项目->重新生成 ③提示生成成功后,右键项目->发布 点击新建,-> 这一步可以选择文件系统, 也可以选择IIS FT 以 ...

  4. 风速风向 UV 相互转换

    这里以c#为例将风的uv分量转成风向风速(别的语言类似) 风向是以y轴正方向为零度顺时针转 UV转风速风向 1 double v ;//v分量 2 double u;//u分量 3 double fx ...

  5. JavaScript 中的模块化

    JavaScript 中的模块化 最早的基于立即执行函数,闭包的模块化 const MountClickModule = function(){  let num = 0;  const handle ...

  6. Python更新列表

    Python更新列表: 使用索引下标进行更新: # 修改列表的第 6 个元素为 d lst = ['a','b','c',1,2,3] lst[5] = 'd' print(lst) # ['a', ...

  7. 最新 laravel5.8 连接redis集群

    简介 Redis 是一个开源的,高级键值对存储数据库.由于它包含 字符串 , 哈希 , 列表 , 集合 , 和 有序集合 这些数据类型,所以它通常被称为数据结构服务器. 在使用 Laravel 的 R ...

  8. Skill 脚本演示 ycMPPTap.skl

    https://www.cnblogs.com/yeungchie/ ycMPPTap.skl 主要用于创建自定的 Tap 类型(指定 掺杂类型 / Via 数量 / Active 宽度),并可以通过 ...

  9. [转]35张图就是为了让你深入AQS

    以下文章来源于程序员cxuan ,作者一枝花算不算浪漫 谈到并发,我们不得不说AQS(AbstractQueuedSynchronizer),所谓的AQS即是抽象的队列式的同步器,内部定义了很多锁相关 ...

  10. 动态修改HttpServletRequest的Post请求参数

    需求场景: 公司对APP调用的后台接口有个公用格式如下,外层包含了一些设备.版本.签名信息,主要的业务参数是在body里,外层信息都是在网关解决,验证签名后,在转发body到后台服务. { " ...