1. # 项目经理
  2. class Base:
  3. # 对子类进行了约束. 必须重写该方法
  4. # 以后上班了. 拿到公司代码之后. 发现了notImplementedError 继承他 直接重写他
  5. def login(self):
  6. # 没有被实现错误
  7. raise NotImplementedError("你要重写一下login这个方法. 否则报错!") # 抛异常 .
  8.  
  9. class Member(Base):
  10. def login(self):
  11. print("我是普通人登录")
  12.  
  13. class BaWu(Base):
  14. def login(self):
  15. print("吧务登录")
  16.  
  17. class Houtai(Base):
  18. def login(self): # 报错, 上层程序员写代码没有按照规范来
  19. print("后台登录")
  20.  
  21. # 整合这些个功能
  22. def deng(obj):
  23. obj.login()
  24.  
  25. m = Member()
  26. bw = BaWu()
  27. ht = Houtai()
  28.  
  29. deng(m)
  30. deng(bw)
  31. deng(ht)
  32.  
  33. # 抽象类和抽象方法 -> java c#
  34. # 抽象方法不需要给出具体的方法体. 抽象方法内只写一个pass就可以了
  35. # 在一个类中如果有一个方法是抽象方法. 那么这个类一定是一个抽象类
  36. # 抽象类中. 如果有抽象方法. 此时这个类不能创建对象
  37. # 如果一个类中所有的方法都是抽象方法. 这个类可以被称为接口类
  38.  
  39. # 写一个抽象方法:导入一个模块
  40. from abc import ABCMeta, abstractmethod
  41.  
  42. # 此时抽象类不能创建对象
  43. class Animal(metaclass=ABCMeta): # 写完这东西. 就是个抽象类
  44. @abstractmethod # 抽象方法
  45. def chi(self): pass # 吃应该只是一个抽象概念. 没办法完美的描述出来吃什么东西
  46.  
  47. # 抽象类中可以有正常的方法
  48. def dong(self):
  49. print("动物会动")
  50.  
  51. # class Cat(Animal): # 此时猫里面也有一个抽象方法, 此时的猫是创建不了对象的
  52. # pass
  53.  
  54. class Cat(Animal):
  55. def chi(self): # 重写父类中的抽象方法
  56. print("猫喜欢吃鱼")
  57.  
  58. a = Cat()
  59. a.chi()
  60. a.dong()

  

Python 类的约束的更多相关文章

  1. python学习笔记:第19天 类的约束、异常、MD5和logging

    目录 一.类的约束 二.异常处理: 三.MD5加密 四.日志(logging模块) 一.类的约束 真正写写项目的代码时都是多人协作的,所以有些地方需要约束程序的结构.也就是说,在分配任务之前就应该把功 ...

  2. python基础学习笔记——类的约束

    ⾸先, 你要清楚. 约束是对类的约束. 用一个例子说话: 公司让小明给他们的网站完善一个支付功能,小明写了两个类,如下: class QQpay: def pay(self,money): print ...

  3. Python 入门 之 类的约束以及super()剖析

    Python 入门 之 类的约束以及super()剖析 1.类的约束 第一版: class WechatPay: def pay(self): print("微信支付") clas ...

  4. Python面向对象之:三大特性:继承,封装,多态以及类的约束

    前言: python面向对象的三大特性:继承,封装,多态. 1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情 ...

  5. Python面向对象04 /封装、多态、鸭子类型、类的约束、super

    Python面向对象04 /封装.多态.鸭子类型.类的约束.super 目录 Python面向对象04 /封装.多态.鸭子类型.类的约束.super 1. 封装 2. 多态 3. 鸭子类型 4. 类的 ...

  6. python 面向对象专题(四):封装、多态、鸭子类型、类的约束、super

    https://www.cnblogs.com/liubing8/p/11321099.html 目录 Python面向对象04 /封装.多态.鸭子类型.类的约束.super 1. 封装 2. 多态 ...

  7. python之路--类的约束, 异常处理, MD5, 日志处理

    一 . 类的约束 1. 写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError class Base: # 对子类进行了约束. 必须重写该方法 # 以后上班了. 拿到公司代 ...

  8. 【Python&数据结构】 抽象数据类型 Python类机制和异常

    这篇是<数据结构与算法Python语言描述>的笔记,但是大头在Python类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Pyt ...

  9. python类:属性

    http://blog.csdn.net/pipisorry/article/details/50708616 Python 中的 property 属性 Python中有个很赞的概念,叫做prope ...

随机推荐

  1. CCF-CSP 201312-5 I'm stuck !

    I'm stuck 试题编号: 201312-5 试题名称: I’m stuck! 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个R行C列的地图,地图的每一个方格可能 ...

  2. hbase的wordcount

    package com.neworigin.HBaseMR; import java.io.IOException; import org.apache.hadoop.conf.Configurati ...

  3. xlrd 安装步骤

    官网 https://pypi.python.org/pypi/xlrd 下载 解压 执行python setup.py install进行安装 --------------------------- ...

  4. miniui 使用心得

    MiniUI demo实例使用心得:1.渲染速度很快2快速维护数据 3多种编辑方式 如 弹窗 直接下方显示form 下方显示tab 等4.树形 编辑 联动 5验证表单6文本框内 选择框 保存的多个选项 ...

  5. PAT Rational Sum

    Rational Sum (20) 时间限制 1000 ms 内存限制 65536 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 Given N ration ...

  6. Connection parameters are correct , SSL not enabled

    这个仅仅是个消息提示,告诉你SSL not enabled.无须理会,直接点击ok

  7. 自建yum源解决Ceph搭建过程中从官网取包慢的问题

    最近项目组需要ceph环境,第一次搭建ceph,各种不顺,装了卸,卸了装,一遍又一遍地按照官网的操作进行.最气人的是网速差,从官网取包太慢.一轮尝试就浪费一上午. 因此想到本地新建yum源. 首先,按 ...

  8. Windows Server 2003添加防火墙策略教程

    1.开始--控制面板--Windows防火墙 2.启用 选择启用即启动防火墙 3.添加例外 常常启用防火墙,还是希望某端口能被某些IP所访问,而防火墙默认是禁止所有IP访问本机的所有端口的,此时我们就 ...

  9. WebSphere静默安装教程(WAS6.1为例)

    1.安装WebSphere 解压守装包: tar -zxf was_soft_64-bit.tar.gz 进入解压出的WAS目录编缉responsefile.nd.txt,将对应选项修值改成以下模样( ...

  10. VMware如何进入安全模式

    VMware进入安全模式和物理机一样:使光标处于在虚拟机中激活状态,启动系统时不停按F8即可. 安全模式--只加载必要的驱动和进程:在cmd可以看到部份命令不能执行或命令功能不能完全实现. 网络安全模 ...