多继承
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. Intelij DataGrip 的安装和使用

    链接: Intelij DataGrip 安装教程以及汉化教程 Intelij DataGrip 使用教程 以上两个教程已使用过,没有问题 如有侵权请联系删除

  2. 高效C++:资源管理

    C++中资源泄漏一直都是老大难的问题,特别是在嵌入式环境中,一点点的资源泄漏,加上长时间的运行们就会导致程序崩溃,这种问题定位非常困难,无规律偶发.解决问题的一种方式是使用特定工具检查内存泄漏,优点是 ...

  3. [翻译]ASP.NET Core在 .NET 5 Preview 7的更新

    .NET 5 Preview 7现在可以用了,可以进行评估了.这是此版本中的新增功能: Blazor WebAssembly应用程序现在针对.NET 5 更新了Blazor WebAssembly的调 ...

  4. RN开发杂记

    获取屏幕尺寸const window = Dimensions.get('window');const screenHeight = Platform.OS === 'ios' ? window.he ...

  5. 抓取Android崩溃日志

    作为一个测试人员,特别是安卓的测试,由于系统版本的不同和手机本身各个品牌的优化和硬件的不同,会出现各种各样的崩溃. 记录崩溃的方式有很多种,比如使用录屏工具或文档进行记录,但是最简洁明了可以直接定位的 ...

  6. PHP入门之类型与运算符(一)

    前言 PHP对于大部分人来说,是比较容易入门的.笔者也是刚学习不久,所以就把自己学习的基础知识进行总结和整理.第一部分是类型与运算符.如果你想学习PHP,可以参考PHP学习手册学习,任何一本教学资料也 ...

  7. MySQL Front远程连接数据库

    连接前需要先配置一下服务器端的数据库 进入mysql数据库,选择mysql mysql> use mysql; 选择 host 表 mysql> select host from user ...

  8. SpringMV学习之拦截器的简单使用

    一.拦截器介绍 我们知道SpringMVC的拦截器(Interceptor)非常重要,尤其在Web应用中使用非常广泛,其功能类似于过滤器,用于拦截用户请求并作相应的处理.我们使用比较多的场景是系统登陆 ...

  9. mapstruct 实体转换及List转换,@Mapper注解转换

    本文参考 https://blog.csdn.net/u012373815/article/details/88367456 主要是为了自己使用方便查询. 这些都是我平时用到了,大家有什么好方法或者有 ...

  10. Python os.stat() 方法

    概述 os.stat() 方法用于在给定的路径上执行一个系统 stat 的调用.高佣联盟 www.cgewang.com 语法 stat()方法语法格式如下: os.stat(path) 参数 pat ...