Python 类的约束
- # 项目经理
- class Base:
- # 对子类进行了约束. 必须重写该方法
- # 以后上班了. 拿到公司代码之后. 发现了notImplementedError 继承他 直接重写他
- def login(self):
- # 没有被实现错误
- raise NotImplementedError("你要重写一下login这个方法. 否则报错!") # 抛异常 .
- class Member(Base):
- def login(self):
- print("我是普通人登录")
- class BaWu(Base):
- def login(self):
- print("吧务登录")
- class Houtai(Base):
- def login(self): # 报错, 上层程序员写代码没有按照规范来
- print("后台登录")
- # 整合这些个功能
- def deng(obj):
- obj.login()
- m = Member()
- bw = BaWu()
- ht = Houtai()
- deng(m)
- deng(bw)
- deng(ht)
- # 抽象类和抽象方法 -> java c#
- # 抽象方法不需要给出具体的方法体. 抽象方法内只写一个pass就可以了
- # 在一个类中如果有一个方法是抽象方法. 那么这个类一定是一个抽象类
- # 抽象类中. 如果有抽象方法. 此时这个类不能创建对象
- # 如果一个类中所有的方法都是抽象方法. 这个类可以被称为接口类
- # 写一个抽象方法:导入一个模块
- from abc import ABCMeta, abstractmethod
- # 此时抽象类不能创建对象
- class Animal(metaclass=ABCMeta): # 写完这东西. 就是个抽象类
- @abstractmethod # 抽象方法
- def chi(self): pass # 吃应该只是一个抽象概念. 没办法完美的描述出来吃什么东西
- # 抽象类中可以有正常的方法
- def dong(self):
- print("动物会动")
- # class Cat(Animal): # 此时猫里面也有一个抽象方法, 此时的猫是创建不了对象的
- # pass
- class Cat(Animal):
- def chi(self): # 重写父类中的抽象方法
- print("猫喜欢吃鱼")
- a = Cat()
- a.chi()
- a.dong()
Python 类的约束的更多相关文章
- python学习笔记:第19天 类的约束、异常、MD5和logging
目录 一.类的约束 二.异常处理: 三.MD5加密 四.日志(logging模块) 一.类的约束 真正写写项目的代码时都是多人协作的,所以有些地方需要约束程序的结构.也就是说,在分配任务之前就应该把功 ...
- python基础学习笔记——类的约束
⾸先, 你要清楚. 约束是对类的约束. 用一个例子说话: 公司让小明给他们的网站完善一个支付功能,小明写了两个类,如下: class QQpay: def pay(self,money): print ...
- Python 入门 之 类的约束以及super()剖析
Python 入门 之 类的约束以及super()剖析 1.类的约束 第一版: class WechatPay: def pay(self): print("微信支付") clas ...
- Python面向对象之:三大特性:继承,封装,多态以及类的约束
前言: python面向对象的三大特性:继承,封装,多态. 1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情 ...
- Python面向对象04 /封装、多态、鸭子类型、类的约束、super
Python面向对象04 /封装.多态.鸭子类型.类的约束.super 目录 Python面向对象04 /封装.多态.鸭子类型.类的约束.super 1. 封装 2. 多态 3. 鸭子类型 4. 类的 ...
- python 面向对象专题(四):封装、多态、鸭子类型、类的约束、super
https://www.cnblogs.com/liubing8/p/11321099.html 目录 Python面向对象04 /封装.多态.鸭子类型.类的约束.super 1. 封装 2. 多态 ...
- python之路--类的约束, 异常处理, MD5, 日志处理
一 . 类的约束 1. 写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError class Base: # 对子类进行了约束. 必须重写该方法 # 以后上班了. 拿到公司代 ...
- 【Python&数据结构】 抽象数据类型 Python类机制和异常
这篇是<数据结构与算法Python语言描述>的笔记,但是大头在Python类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Pyt ...
- python类:属性
http://blog.csdn.net/pipisorry/article/details/50708616 Python 中的 property 属性 Python中有个很赞的概念,叫做prope ...
随机推荐
- CCF-CSP 201312-5 I'm stuck !
I'm stuck 试题编号: 201312-5 试题名称: I’m stuck! 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个R行C列的地图,地图的每一个方格可能 ...
- hbase的wordcount
package com.neworigin.HBaseMR; import java.io.IOException; import org.apache.hadoop.conf.Configurati ...
- xlrd 安装步骤
官网 https://pypi.python.org/pypi/xlrd 下载 解压 执行python setup.py install进行安装 --------------------------- ...
- miniui 使用心得
MiniUI demo实例使用心得:1.渲染速度很快2快速维护数据 3多种编辑方式 如 弹窗 直接下方显示form 下方显示tab 等4.树形 编辑 联动 5验证表单6文本框内 选择框 保存的多个选项 ...
- PAT Rational Sum
Rational Sum (20) 时间限制 1000 ms 内存限制 65536 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 Given N ration ...
- Connection parameters are correct , SSL not enabled
这个仅仅是个消息提示,告诉你SSL not enabled.无须理会,直接点击ok
- 自建yum源解决Ceph搭建过程中从官网取包慢的问题
最近项目组需要ceph环境,第一次搭建ceph,各种不顺,装了卸,卸了装,一遍又一遍地按照官网的操作进行.最气人的是网速差,从官网取包太慢.一轮尝试就浪费一上午. 因此想到本地新建yum源. 首先,按 ...
- Windows Server 2003添加防火墙策略教程
1.开始--控制面板--Windows防火墙 2.启用 选择启用即启动防火墙 3.添加例外 常常启用防火墙,还是希望某端口能被某些IP所访问,而防火墙默认是禁止所有IP访问本机的所有端口的,此时我们就 ...
- WebSphere静默安装教程(WAS6.1为例)
1.安装WebSphere 解压守装包: tar -zxf was_soft_64-bit.tar.gz 进入解压出的WAS目录编缉responsefile.nd.txt,将对应选项修值改成以下模样( ...
- VMware如何进入安全模式
VMware进入安全模式和物理机一样:使光标处于在虚拟机中激活状态,启动系统时不停按F8即可. 安全模式--只加载必要的驱动和进程:在cmd可以看到部份命令不能执行或命令功能不能完全实现. 网络安全模 ...