多继承
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. Email正则表达式验证

    在做邮箱验证的时候,进行简单的整理: string emailStr = @"/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3 ...

  2. 代码Verify简介

    序 对于开发者而言,编译代码和提交代码是必不可少的流程,同一个需求反复提交的情况也时常出现,那么怎么避免这种情况,且保证代码的质量,这就是Verify CI的目标.Verify表示认证验证的意思,结合 ...

  3. python3的字符串常用方法

    find()# 方法 find()# 范围查找子串,返回索引值,找不到返回-1 # 语法 s.find(substring, start=0, end=len(string)) # 参数 # subs ...

  4. Java基础之常用知识点博客汇总

    正则: 正则表达式 :https://www.cnblogs.com/lzq198754/p/5780340.html 正则表达式大全:https://blog.csdn.net/zpz2411232 ...

  5. [leetcode/lintcode 题解] 谷歌面试题:找出有向图中的弱连通分量

    请找出有向图中弱连通分量.图中的每个节点包含 1 个标签和1 个相邻节点列表.(有向图的弱连通分量是任意两点均有有向边相连的极大子图) 将连通分量内的元素升序排列. 在线评测地址:https://ww ...

  6. 如何用redis做缓存

    redis缓存 在互联网应用中经常需要用redis来缓存热点数据. redis数据在内存,可以保证数据读取的高效,接近每秒数十万次的吞吐量 减少下层持久层数据库读取压力,像mongodb,每秒近千次读 ...

  7. Redis持久化功能

    Redis为了内部数据的安全考虑,会把本身的数据以文件的形式保存在硬盘中一份,在重启之后会自动把硬盘的数据恢复到内存(redis)里面. 一.snap shotting 快照持久化 该持久化默认开启, ...

  8. Dom运用1

    1.简单计算器 <!-- 第一个数--> <input type="text"> <!-- 符号复选框--> <select name=& ...

  9. PHP str_split() 函数

    实例 把字符串 "Hello" 分割到数组中: <?php print_r(str_split("Hello")); ?>高佣联盟 www.cgew ...

  10. MOSFET 的 I / V 特性曲线

    https://www.cnblogs.com/yeungchie/ MOSFET 线性区(三极管区,\(V_{DS} \leq V_{GS} - V_{TH}\)) \[I_{D} = \mu_{n ...